我試圖訪問在函數外部設置的.click
函數內的變量的值,但我會得到錯誤,任何人都可以告訴我我做錯了什麼?當單擊事件處理至少運行一次,因爲你設置事件處理程序jquery中的變量作用域
0
A
回答
3
點擊還不occure裏面的id變量
var id;
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$('#accordion_catering h3').click(function() {
id = $(this).attr('id');
$('#' +id+'_gallery').show();
//alert(id);//works
});
alert(id); // is undefined
// Because id is undefined these don't work .
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
3
ID纔會被置,所以ID沒有設定......這不是關於可變範圍,詳細瞭解事件及其處理程序:)
爲你添加一個CMT,我適應我的解決方案如下:
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$(document).ready(function() {
var element = $('#accordion_catering h3');
element.click(function() {
var id = $(this).attr('id');
DisplayGallery(id);
});
element.trigger('click'); // maybe you want to trigger it
});
function DisplayGallery(id) {
$('#' + id +'_gallery').show();
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
}
0
var id;
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$(document).ready(function() {
$('#accordion_catering h3').click(function() {
id = $(this).attr('id');
$('#' +id+'_gallery').show();
//alert(id);//works
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
});
$('#accordion_catering h3').trigger('click');
alert(id); // is defined
)};
所以,基本上,不要訪問id,直到這個事件被觸發,它纔會被設置。
相關問題
- 1. jQuery變量作用域?
- 2. jQuery的 - 變量的作用域問題
- 3. JavaScript變量的作用域
- 4. jQuery.get()變量的作用域
- 5. ASP.Net變量的作用域
- 6. AJAX調用中的變量作用域
- 7. 的jQuery/JavaScript中,變量的作用域問題
- 8. 變量作用域和全局變量
- 9. Python中的變量作用域問題
- 10. 類中的靜態變量作用域?
- 11. java中的實例變量作用域
- 12. JavaScript中的變量作用域(Dojo)
- 13. c中變量的作用域#
- 14. JavaScript中的嵌套變量作用域
- 15. unix中函數變量的作用域
- 16. Rails中的作用域配置變量
- 17. VBScript函數中的變量作用域
- 18. XSLT中的變量作用域?
- 19. Python中變量作用域的問題
- 20. 作用域,C中的變量訪問#
- 21. 文件作用域變量
- 22. 全局變量作用域
- 23. Ruby變量作用域塊
- 24. 混淆變量作用域(來自外部作用域的陰影變量)
- 25. JavaScript,MooTools - 類中的變量作用域/覆蓋全局變量
- 26. 在Node中共享變量作用域jsdom和jquery
- 27. 的Javascript/jQuery的變量的作用域問題
- 28. 函數調用,變量的作用域
- 29. 的jQuery插件和變量的作用域
- 30. Angular Controller父/子作用域設置父變量到子作用域變量
嗨,感謝您的迴應,我設置點擊功能的id的原因是因爲我顯示基於ID的不同畫廊,所以我得到的ID值一旦點擊並顯示相應的畫廊,也每個圖庫中有不同數量的幻燈片,這就是爲什麼numberOfSlides需要連接到Clickv函數 – amir 2010-02-17 12:28:03
內的特定ID做了更新! – 2010-02-17 12:33:55