簡體   English   中英

Javascript:將一個變量值替換為另一個變量對象

[英]Javascript: Substitute a variable value in another variable object

我有一個滾動插件,初始化后將滾動量存儲在特定的id中。

我正在使用jQuery獲取div的id並將其存儲在可變的bid中。

var bid = $(this).parent().parent().find(".video_s").attr('id');

在控制台中,var bid返回元素ID。 (這正常工作)

由於滾動量存儲在特定於DOM元素ID的對象中

var bpos = bid.scrollData.scrollPosition[0][0];

上面的代碼不起作用

可變出價包含元素的ID。

如果我在控制台中鍵入elementID.scrollData.scrollPosition[0][0] ,它會完美返回滾動量。 其中elementID是水平容器的特定ID。

請任何人告訴我怎么了。

解決方案1: window[bid].scrollData.scrollPosition[0][0]

解決方案2: eval(bid).scrollData.scrollPosition[0][0]

注意:永遠不要使用eval()。 eval()速度慢且存在安全風險

由於bid是僅包含element-id的字符串,但是您需要一個包含實際dom-element的jQuery Object,因此代碼應為:

var bpos = $('#'+bid).scrollData.scrollPosition[0][0];

$('#'+bid)根據出價中存儲的ID獲取元素。

對於此插件,元素存儲在全局變量中(順便說一下,這是非常糟糕的編程風格),因此您可以使用以下內容訪問它們:

window[bid].scrollData.scrollPosition[0][0];

我認為您應該存儲位置而不是ID

var bid = $(this).parent().parent().find(".video_s").attr('id');
var bpos = $('#'+bid).scrollData.scrollPosition[0][0]

做這個:

$('#'+bid).scrollData.scrollposition[0][0];

暫無
暫無

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

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