如何在javascript中重新计算变量
how to re-calculate variables in javascript
function scrollContent(){
var div = $('#scrolling-content'),
ul = $('ul.image'),
// unordered list's left margin
ulPadding = 0;
//Get menu width
var divWidth = div.width();
//Remove scrollbars
div.css({overflow: 'hidden'});
//Find last image container
var lastLi = ul.find('li:last-child');
//When user move mouse over menu
div.mousemove(function(e){
//As images are loaded ul width increases,
//so we recalculate it each time
var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
div.scrollLeft(left);
});
}
这是我如何滚动我的图像列表。问题是#scrolling-content
元素的大小是动态的。它改变窗口大小。,
$(window).resize(function() {
$("#scrolling-content").css("width",$(window).width() + "px");
$("#scrolling-content").css("height",($(window).height()-400) + "px");
});
所以当用户改变窗口大小时,它必须重新计算左值。我该如何修改脚本来实现这一点?用window.resize
函数召回scrollContent()
函数是一个新手的解决方案。这会给IE带来冲突
您可以将宽度设置为resize,并使函数像这样调用变量。这个方法将你的函数转换成一个js对象,window update重置该对象中的width变量。当然现在你可以这样调用这个函数:scrollContent.scroll();
var scrollContent = {
width: 0,
scroll:function(){
var div = $('#scrolling-content'),
ul = $('ul.image'),
// unordered list's left margin
ulPadding = 0;
//Get menu width
scrollContent.width = div.width();
//Remove scrollbars
div.css({overflow: 'hidden'});
//Find last image container
var lastLi = ul.find('li:last-child');
//When user move mouse over menu
div.mousemove(function(e){
//As images are loaded ul width increases,
//so we recalculate it each time
var left = (e.pageX - div.offset().left) * (ulWidth-scrollContent.width) / scrollContent.width;
div.scrollLeft(left);
});
}
};
$(window).resize(function() {
$("#scrolling-content").css("width",$(window).width() + "px");
$("#scrolling-content").css("height",($(window).height()-400) + "px");
scrollContent.width = $(window).width();
});
你也可以只声明一个标准的js变量,并使用它来保持事情简单。我更喜欢使用js对象来消除可能的var干扰。
相关文章:
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 设置为负数的变量计算结果为true
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 如何在此脚本代码中正确设置此计算和变量
- Angularjs:访问范围变量数组并计算平均值
- 计算出具有多个变量的旅程成本的总价
- 如何在javascript中计算两个变量的百分比
- 如何在jQuery中单击时重新计算变量
- 计算三角形面积-作为变量工作,但不作为函数包装
- 如何降低炮弹速度变量的计算成本
- 使用HTML中数据字段提取的变量进行计算
- 角度计算变量名称
- Angularjs 计算变量中的 jquery Math Library 表达式
- Javascript - 计算变量中特定字符串的实例数
- 使用 observableArray 初始化计算变量
- 计算变量中的位数
- 如何在javascript中重新计算变量
- 我可以orderByChildren或orderByValue减去一个孩子到另一个?(或任何其他使用计算变量的方法)
- 当与ngIf指令组合时,一次绑定重新计算变量是否正确?-AngularJS
- 将变量传递到函数时何时计算变量