2013-07-10 57 views
1

我有一個外部js文件,其中包含頂部的window.onload。當我單擊單獨的HTML文件中的按鈕時,我想在window.onload內調用control.next()函數。function window.onload

window.onload = function() { 

control = { 

    margin: function(n) { 
     sliderContent.style.marginLeft = '-' + n + '00%'; 
    }, 

    prev: function() { 
     (n === 0) ? n = (slideCount - 1) : n--; 
     control.margin(n); 
    }, 

    next: function() { 
     alert("next"); 
     (n < slideCount - 1) ? n++ : n = 0; 
     control.margin(n); 
    }, 

    slide: function() { 
     move = setInterval(function(){ 
      (n < slideCount - 1) ? n++ : n = 0; 
      control.margin(n); 
     }, 4000) 
    } 
} 

} 

按鈕的代碼是:

<button class="xy" onclick="">next</button> 

您也可以在http://jsfiddle.net/gLPhr/2/

+0

在你的jsfiddle,它看起來像你想使用jQuery。嘗試'$(document).load(function(){//你的東西在這裏});' – jrthib

+0

@jrthib JSFiddle包含有效的JavaScript,沒有必要jQuery – stackErr

+0

我想調用next()函數,當我按下按鈕 – Rohit77

回答

0

檢查撥弄你所要做的是不可能的,因爲control適適用範圍是anonymouys函數內。我沒有看到你需要onload事件,刪除它,你的代碼應該正常工作。

+0

我試圖刪除onload,但後來整件事停止工作。 – Rohit77

0

你只需要暴露控制對象,是嗎?

var control; 

window.onload = function() { 

control = { 
... 

否則,control作用範圍是window.onload,並沒有什麼外面可以看到它。

順便說一句,不知道小提琴是你想要的地方。

+0

。我還有一個關於它的問題,如果你可以幫助我... ..出主題.. ..我使用相當大的圖像。我已經調整到百分之一百,它適合頁面。但是當我試圖調整它的高度到100%,它不工作... – Rohit77

+0

我不得不看看上下文中的代碼來知道你想要做什麼。通常你會將圖像重新調整到正確的尺寸。是否有一個div陷印圖像?這是住在什麼地方?它看起來可能是來自復活節彩蛋文本的教程。 – ruffin

+0

是啊它的div - >部分陷印的形象..但有沒有什麼辦法,除了調整大小或重新調整圖像。就像我做寬度。或者離開它..但是再次感謝 – Rohit77

0

將控制變量保持在外部,只需在onload處理程序中調用所需的方法。

功控制= {

margin: function(n) { 
    sliderContent.style.marginLeft = '-' + n + '00%'; 
}, 

prev: function() { 
    (n === 0) ? n = (slideCount - 1) : n--; 
    control.margin(n); 
}, 

next: function() { 
    alert("next"); 
    (n < slideCount - 1) ? n++ : n = 0; 
    control.margin(n); 
}, 

slide: function() { 
    move = setInterval(function(){ 
     (n < slideCount - 1) ? n++ : n = 0; 
     control.margin(n); 
    }, 4000) 
} 

}

的window.onload = control.next

+0

非常感謝 – Rohit77

相關問題