Jquery 为什么这个简单的if/else语句不起作用?
我在想为什么这不管用 我有两个不同的元素,一个位于页面顶部,另一个位于页面的下半部分 我添加了一堆控制台日志,以找出为什么应用了错误的类(总是“top”,而不是bottom) 案例1日志:Jquery 为什么这个简单的if/else语句不起作用?,jquery,coffeescript,Jquery,Coffeescript,我在想为什么这不管用 我有两个不同的元素,一个位于页面顶部,另一个位于页面的下半部分 我添加了一堆控制台日志,以找出为什么应用了错误的类(总是“top”,而不是bottom) 案例1日志: .top half window: 314 top position: 172 案例2日志: .top half window: 314 top position: 389 在第二种情况下,类应该是.bottom,但由于某种原因,这两个数字的简单比较不起作用,我不知道为什么 我的代码: enable_
.top
half window: 314 top position: 172
案例2日志:
.top
half window: 314 top position: 389
在第二种情况下,类应该是.bottom,但由于某种原因,这两个数字的简单比较不起作用,我不知道为什么
我的代码:
enable_dropdown = (el) ->
el.closest('.shareable').addClass('active')
windowheight = $(document).height() / 2
position = el.offset()
if position >= windowheight
el.find('.panel').addClass 'bottom'
console.log '.bottom'
else
el.find('.panel').addClass 'top'
console.log '.top'
console.log 'half window: ' + windowheight + ' top position: ' + position.top
您必须将
窗口高度
与位置.顶部
,而不是位置
(就像您的控制台.log()
语句一样)。这是什么魔法!您的意思是比较位置.顶部
和窗口高度
?看起来您正在将一个对象与if语句中的整数进行比较。el.offset()==={top:10,left:10}
等@crclayton谢谢,解决了这个问题-完全没有解决这个问题如果position.top>=windowheight
非常欢迎您。