如果元素占窗口宽度的60%,屏幕上的值是否合适,我该如何编写if条件?
我已尝试使用style.left > '40%'
,但这似乎无法奏效。或者是对的。
答案 0 :(得分:7)
您可以使用javascript和jQuery轻松完成此操作。
要找到对象的右边缘(在此处将f
存储在内存中),请使用以下代码:
var rightEdge = f.width() + f.offset().left;
要查找屏幕宽度,您可以使用以下代码:
var screenWidth = $(window).width();
“屏幕外”的对象数量是通过从screenWidth
中减去rightEdge
来计算的,因此这个布尔表达式描述了对象离屏幕超过60%的时间:
rightEdge-screenWidth > f.width()*.6
这是一个有效的演示: http://jsfiddle.net/YeyFj/
答案 1 :(得分:2)
这不是直接回答你的问题,但我创造了这个小提琴,可以让你更容易玩你需要做的数学。
var w = $('#container').width();
var el = $('#el');
el.draggable({
stop: function () {
var ew = el.width();
//this is your "formula"
var l = el.offset().left + (ew * .6);
if (l > w) {
el.addClass('over')
}
else {
el.removeClass('over')
}
}
});