如何更改javascript中的style属性?
我想每5秒钟在我的网站上更改一张图片,我已经使用了这段代码!但是不管用!! 问题在哪里如何更改javascript中的style属性?,javascript,Javascript,我想每5秒钟在我的网站上更改一张图片,我已经使用了这段代码!但是不管用!! 问题在哪里 <script type="text/javascript"src="http://code.jquery.com/jquery-1.9.1.min.js"> </script> <script type="text/javascript"> $(document).ready(function () { var interval = se
<script type="text/javascript"src="http://code.jquery.com/jquery-1.9.1.min.js"> </script>
<script type="text/javascript">
$(document).ready(function () {
var interval = setInterval(time, 5000);
}); // ending ')' was missing
</script>
<script type="text/javascript">
function time() {
var m11 = document.getElementById("m1");
var m22 = document.getElementById("m2");
var m33 = document.getElementById("m3");
var name= mm11.style.display.toString();
if ( name=="block") {
m11.style.display = "none";
m22.style.display = "block";
}
if(m22.style.display.toString() ="block") {
m22.style.display = "none";
m11.style.display = "block";
}
}
</script>
$(文档).ready(函数(){
var间隔=设置间隔(时间,5000);
}); // 结尾“)”不见了
功能时间(){
var m11=document.getElementById(“m1”);
var m22=document.getElementById(“m2”);
var m33=document.getElementById(“m3”);
var name=mm11.style.display.toString();
如果(名称=“块”){
m11.style.display=“无”;
m22.style.display=“块”;
}
if(m22.style.display.toString()=“块”){
m22.style.display=“无”;
m11.style.display=“块”;
}
}
更改
if(m22.style.display.toString() ="block")
与
此外,您不需要“toString()”,因为display已经是一个字符串
下面是一个较短的代码:
function time() {
var m11 = document.getElementById("m1");
var m22 = document.getElementById("m2");
var m33 = document.getElementById("m3");
if (m11.style.display == "block") {
m11.style.display = "none";
m22.style.display = "block";
}
if(m22.style.display == "block") {
m22.style.display = "none";
m11.style.display = "block";
}
}
你可以直接使用。请注意,在
If
语句中进行比较时,它应该是==
document.getElementById('m1').style.display = 'none';
在第二个if块上,您未键入comaprsion运算符
if(m22.style.display.toString() ="block")
应该是
if(m22.style.display.toString() =="block")
因为您已经在使用jquery,所以在我看来,您可以简单地使用
function time() {
$('#m1').toggle();
$('#m2').toggle();
}
更好的方法如下: HTML: 请参阅 更新: 根据Sarah sh的评论,您需要逐个显示图像 这是您的功能 HTML:
参考name=mm11,应该是m11吗?@sarahsh您的行“var name=mm11.style.display.toString();”是错误的,应该是“var name=m11.style.display.toString();”是的,您是对的,但我已经复制了您的代码,第一张图片没有改变。!!!你能编辑你的问题并添加你的HTML代码吗?这样我们就更容易发现问题。非常感谢。行需要=='block'运算符,并且您正在使用='block'if(m22.style.display.toString()=“block”){您知道,我想一张一张地显示3张图片!(5秒后)@克劳迪奥雷迪:对不起,我甚至还没有看到你的答案。@克劳迪奥雷迪:根据莎拉·什的评论,我已经完全更新了我的答案,因此与你的答案没有任何关系。请删除你的downvoteHello Downvorters,请正确检查答案并投下Downvorts。不要盲目地阅读评论。
function time() {
$('#m1').toggle();
$('#m2').toggle();
}
<div id="m1" style="display:block">Hello1</div>
<div id="m2" style="display:none">Hello2</div>
setInterval(time, 5000);
function time() {
$("#m1, #m2").toggle();
}
<div class="img">Hello1</div>
<div class="img">Hello2</div>
<div class="img">Hello3</div>
<div class="img">Hello4</div>
var currObj = $(".img").first();
$(currObj).show();
$(".img").not(currObj).hide();
setInterval(rotateImage, 2000);
function rotateImage() {
var tempObj = currObj;
if ($(tempObj).is(":last"))
currObj = $(".img").first();
else
currObj = $(currObj).next();
$(tempObj).hide();
$(currObj).show();
}