簡體   English   中英

如何將jQuery變量傳遞給插件屬性?

[英]How to pass a jQuery variable to a plugin property?

對不起,我是初學者,有人可以幫幫我嗎?

<script>
var iW = $(document).width();

$(function() {
//single book
$('#mybook').booklet({
   next: '#custom-next',                
    prev: '#custom-prev',
     keyboard: true,
    width:   return iW, // here is the problem! It doesn't work.
    height: 200

});

//multiple books with ID's
$('#mybook1, #mybook2').booklet();

//multiple books with a class
$('.mycustombooks').booklet();

});

</script>

真的很親密 放棄return ,例如:

$('#mybook').booklet({
   next: '#custom-next',                
    prev: '#custom-prev',
    keyboard: true,
    width:   iW, // <=== Updated
    height: 200

});

這將使用您調用booklet時的iW

在一個對象文字中(這是你傳遞給booklet函數的{ ... }事物),屬性初始化器很像賦值語句。 之前在左邊的位:給出屬性名(而不能是一個表達式),而右邊后位的:給出了的屬性( 可以是一個表達式-一個簡單的變量名,函數調用等)。

return沒有必要。 你只需要width: iW

也就是說,您還應該在ready塊中調用$(document).width()

$(function () {
    var iW = $(document).width();

    //single book
    $('#mybook').booklet({
        next: '#custom-next',
        prev: '#custom-prev',
        keyboard: true,
        width: iW,
        height: 200

    });

    //multiple books with ID's
    $('#mybook1, #mybook2').booklet();

    //multiple books with a class
    $('.mycustombooks').booklet();

});

如上所述,您不需要退貨。

但是,許多插件可以接受其參數的功能,以便在需要時進行評估,例如

$('#mybook').booklet({
    next: '#custom-next',
    prev: '#custom-prev',
    keyboard: true,
    width: function() { return $(document).width(); },
    height: 200
});

我不知道這個插件所以我不是100%肯定它會支持它,但很多人都這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM