【发布时间】:2017-12-10 09:38:13
【问题描述】:
我的作品集主页上有一种抽象艺术作品,它会根据鼠标光标的位置移动。
此动画在 Safari、Google Chrome 和 Opera 上完美运行。
Firefox 的问题似乎只是在中间块尝试向下移动时
这是我的作品集的链接:http://benjaminthomasgibbs.co.uk/
好的,我知道我的 css 代码格式不正确,我喜欢这样 - 这可能是问题所在:
JS:
// MIDDLE SLATE ANIMATION
$(document).ready(function() {
$('#slateMid').mouseenter(function() {
$('#slateMid').css('top', '160vh');
// LEFT SLATE
$('#slate').css('height', '20vh');
$('#slate').css('top', '45vh');
$('#slate').css('left', '24vw');
$('#slate').css('width', '46.5vw')
$('#slate').css('box-shadow', '0px 0px 0px');
$('#slate').css('background-color', '#FEBD45');
// RIGHT SLATE
$('#slateEnd').css('height', '23.5vh');
$('#slateEnd').css('top', '19vh');
$('#slateEnd').css('left', '24vw');
$('#slateEnd').css('width', '46.5vw');
$('#slateEnd').css('box-shadow', '0px 0px 0px');
$('#slateEnd').css('background-color', '#DF4655');
})
$('#slateMid').mouseleave(function() {
$('#slateMid').css('height', '68.5vh');
$('#slateMid').css('top', '11vh');
$('#slateMid').css('box-shadow', '10px 10px 10px #888888');
$('#slateMid').css('border-left', '4px solid #000');
$('#slateMid').css('border-right', '4px solid #000');
// LEFT SLATE
$('#slate').css('height', '34.5vh');
$('#slate').css('top', '34vh');
$('#slate').css('left', '26vw');
$('#slate').css('width', '14vw');
$('#slate').css('box-shadow', '10px 10px 10px #888888');
$('#slate').css('background-color', '#DF4655');
// RIGHT SLATE
$('#slateEnd').css('height', '45.5vh');
$('#slateEnd').css('top', '17vh');
$('#slateEnd').css('left', '56vw');
$('#slateEnd').css('width', '14vw');
$('#slateEnd').css('box-shadow', '5px 5px 5px #888888');
$('#slateEnd').css('background-color', '#FEBD45');
$('#slateEnd').css('border-left', '4px solid #000');
})
})
HTML:
<div id="changeBottomLeft">
</div>
<div id="changeBottomRight">
</div>
<div id="slate">
</div>
<div id="slateMid">
</div>
<div id="slateEnd">
</div>
【问题讨论】:
-
旁注:传递对象并调用
.css()方法一次,即$('#slateEnd').css({ 'top': '17vh', 'left': '56vw'}); -
好吧,很酷,我发现我的方式更容易阅读——因为它变得相当混乱。不过感谢您的提示,非常感谢。
-
我同意 satpal 的观点,这样做会更好,但如果你想将它保存在单独的函数中,你也可以这样做
$('#slate').css('height', '20vh').css('top', '45vh').css('left', '24vw');这将为你节省很多 jquery 对象和以后更容易编辑。当然,如果您愿意,这些函数都可以换行。
标签: jquery html css firefox browser