这是我的代码
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
它很好,但我想工作这个功能体调整大小和页面刷新。怎么样?
答案 0 :(得分:2)
$(window).resize(function(){
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
});
UPDATE:调用一次函数:
$(window).resize((function(){
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
return arguments.callee;
})());
答案 1 :(得分:1)
$(window).on('resize', function() {
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
});
并且如果您还需要执行一次(没有显式调整大小操作)链接trigger()
方法
$(window).on('resize', function() {
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
}).trigger('resize');
因为您要定位DOM元素$('.freeshipping')
,所以请务必将此代码段包装在domready事件
答案 2 :(得分:0)
试试这个
$(window).resize(function() {
var bodyWidth = ($(document).width()/2);
console.log(bodyWidth);
$('.freeshipping').css('right',bodyWidth);
});
答案 3 :(得分:0)
好的,所以每个人都回答了这个问题很好,但是! 这是另一个例子:
//store temporarily the existing method
var resize = $.fn.resize;
//overwrite $(window).resize with your method
$(window).resize(function () {
//here you do your stuff
stuff.setWidth(param);
//call the original
resize;
});
不同之处在于您已经有一个$(window).resize(function () { /* ... */ });
方法,您不想放松,只是为了扩展。
当我编写自己的jQuery插件时,我遇到了这个问题。我不得不考虑用户/开发人员添加的现有$(window).resize()方法。所以这样我保留它并运行我需要更新自己的插件的方法/函数。