gpt4 book ai didi

jquery - 使用 jQuery 动态更改 html 属性

转载 作者:太空宇宙 更新时间:2023-11-03 18:44:45 25 4
gpt4 key购买 nike

我有这个 jQuery 插件 - Plax:https://github.com/cameronmcefee/plax

我希望它能够响应,我部分地做到了:http://jsfiddle.net/4kRDL/

我的问题是 html 属性:

<img src="/parallax/4.svg" data-xrange="20" data-yrange="10" id="plax-img4"/>
<img src="/parallax/3.svg" data-xrange="5" data-yrange="40" id="plax-img3"/>

问题是 data-xrangedata-yrange 没有响应,当您最小化浏览器窗口时,它们具有相同的 x 范围和 y 范围,无论窗口有多大。最小化时,范围会很大。

所以我必须在调整大小时获取窗口大小,然后用算法找到 xrange 和 yrange,然后用 jquery 更改属性,然后重新初始化 plaxify。

我在想类似这个伪代码的东西,但不知道该怎么做,所以它起作用了:

$('#my-element')
.attr('data-xrange', 'New Value')
.attr('data-yrange', 'New Value');

// You can dynamically redefine the range of a layer
// by running plaxify() on it again.
$('#my-element').plaxify();

$(window).resize(function(){
var w = $(window).width();
if(w > 320 && #my-element.is('New Value')) {
#my-element.removeAttr('data-xrange,data-yrange');
}
});

最佳答案

来自 Plax 的文档:

$('#plax-octocat').plaxify({"xRange":40,"yRange":40})
$('#plax-earth').plaxify({"xRange":20,"yRange":20,"invert":true})

$('#plax-bg').plaxify({"xRange":10,"yRange":10,"invert":true})
$.plax.enable()

$('#my-btn').click(function(){
// bigger range
$('#plax-octocat').plaxify({"xRange":200,"yRange":200}) // LOOK HERE
})

如你所见,如果你想要新的xrange和yrange,那么你必须自己设置。那么您的代码应该类似于:

$(window).resize(function(){
var w = $(window).width();
if(w > 320){
$('#my-element').plaxify({"xRange":newValue,"yRange":newValue});
}
});

编辑:此外,在使用 plaxify() 更改数据属性后,您必须将 CSS 顶部和左侧值设置为 0。类似的东西:http://jsfiddle.net/instead/4kRDL/14/

关于jquery - 使用 jQuery 动态更改 html 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com