js 怎么实现点击一次图片旋转90度,再点击再转90度呢

js 怎么实现点击一次图片旋转90度,再点击再转90度呢,第1张

现在我们以这个苹果的图片作为例子

我将演示代码写在这个页面网页链接,下面解释其用法。

页面结构如图

javascript代码如下

$(function() {

var r = 0

$('img').click(function() {

r += 90

$(this).css('transform', 'rotate(' + r + 'deg)')

})

})

核心思路是控制图片的这个css属性:

   transform: rotate(360deg)

其中360deg就是360度,点一次旋转90度

问题不少啊,朋友,改成下面就可以运行了,你每句每句的对照看看,错在哪里,尤其是每句后面掉了分号。

<p id="firjs"></p>

<script>

var a = Math.random() + ""

var rand1 = a.charAt(5)

var quotes = new Array()

quotes[1] = '欢迎!'

quotes[2] = '举牌子很累'

quotes[3] = '你发现了?'

quotes[4] = '这里是MW'

quotes[5] = '我挺帅'

quotes[6] = '我在这站了很久'

quotes[7] = '这些字会变'

quotes[8] = '欢迎'

quotes[9] = '出现“欢迎”最多'

quotes[0] = '欢迎'

var quote = quotes[rand1]

var hehe = document.getElementById("firjs")

hehe.innerText = quote

</script>

可以直接用document.getElementById("divid").innerHTML = "<p>内容</p>"的方式来写。

多个可以循环进行处理。

假设段落文本是个数组:array。

可以通过for (var i = 0i <array.lengthi++) {document.getElementById("divid").innerHTML = "<p>"+array[i]+"</p>"}的方式进行处理。

延展:

如果段落过多,直接使用 div.appendChild方法会不段刷新DIV对象,影响运行速度。

正确的方法应该使用 document对象的碎片方法。

document.createDocumentFragment 容器,最后再将这些碎片返回给DIV对象比较合理,例如:

var strArrayList=[]// 创建一个段落文本数组对象,这些段落文本可能是100个也可能是1000个。

strArrayList[0]='数据111.......'

strArrayList[1]='数据.......'

strArrayList[2]='数据.......'

strArrayList[3]='数据.......'

strArrayList[4]='数据.......'

//...数据n.....

var div=document.getElementById('div1')//获得DIV对象。

var f=document.createDocumentFragment()//创建碎片对象。

for(var i=0i<strArrayList.lengthi++){

var p=document.createElement('P')//动态创建P标签。

p.appendChild(document.createTextNode(strArrayList[i]))//段落字符串。

f.appendChild(p)//附加到碎片对象中。

}

div.appendChild(f)//最后返给DIV对象。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11799281.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存