简体   繁体   English

CSS属性不会使用jQuery更改

[英]CSS property doesn't change using jQuery

i'm making NY card and trying to set all snowflakes in random place, but snowflakes position from left works, but top doesn't. 我正在制作NY卡,并尝试将所有雪花设置在随机位置,但是从左起的雪花位置有效,但顶部没有。

 var snowflakes = $("#snowflakes"); var snowflakesCount = snowflakes.data("count"); console.log(snowflakesCount); for (var i = 0; i < snowflakesCount; i++) { var snowflake = $('<div class="snowflake"></div>').appendTo(snowflakes); var left = (Math.round(Math.random() * 80)) + "%"; var top = (Math.round(Math.random() * 40) + 20) + "%"; snowflake.css("top", top); snowflake.css("left", left); } 
 body { background: #1a0d81; } .snowflake { position: fixed; top: 50px; left: 50px; background: url("../image/snowflake.png"); width: 32px; height: 33px; transition: 5s all linear; } #snowflakes { position: absolute; width: 100%; height: 100%; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <div id="snowflakes" data-count="10"></div> 

snowflake.css("top", top) doesn't work. snowflake.css("top", top)不起作用。 All i got is http://imgur.com/a/RmGCp 我得到的只是http://imgur.com/a/RmGCp

Here's a working snippet. 这是一个工作片段。 The other answer includes details as to why. 另一个答案包括有关原因的详细信息。


The snippet was giving an error against var top = 该代码段针对var top =给出了错误

Changed the var name and it works fine: 更改了var名称,它可以正常工作:

 var snowflakes = $("#snowflakes"); var snowflakesCount = snowflakes.data("count"); console.log(snowflakesCount); for (var i = 0; i < snowflakesCount; i++) { var snowflake = $('<div class="snowflake">*</div>').appendTo(snowflakes); var left = (Math.round(Math.random() * 80)) + "%"; var topxx = (Math.round(Math.random() * 40)) + "%"; //console.log(topxx); snowflake.css("left", left); snowflake.css("top", topxx); } 
 body { background: #1a0d81; } .snowflake { position: fixed; top: 50px; left: 50px; width: 32px; height: 33px; transition: 5s all linear; color:white; } #snowflakes { position: absolute; width: 100%; height: 100%; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <div id="snowflakes" data-count="10"></div> 

Here's a working code that was discussed here on SO . 这是在SO上讨论过的工作代码。
Might not resolve your issues with this but will get you where you want: [jfiddle][2.] 可能无法解决您的问题,但可以将您带到您想要的地方:[jfiddle] [2。]
Another option is a JQuery-snowfall . 另一种选择是JQuery-snowfall
And a working example of this plugin SnowFall . 还有此插件SnowFall的一个工作示例。

Good luck 祝好运

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM