一、画廊效果
<style>
*{margin: 0;padding: 0}
.small-icons img{
width: 116px;
}
.current{
border: 2px solid pink;
}
</style>
</head>
<body>
<div class="small-icons">
<img src="images/01.png" alt="" class="current">
<img src="images/02.png" alt="">
<img src="images/03.png" alt="">
<img src="images/04.png" alt="">
<img src="images/05.png" alt="">
</div>
<div class="content">
<img src="images/01.png" alt="" class="current">
</div>
<script>
var icons = document.querySelectorAll(".small-icons>img");
var show = document.querySelectorAll(".content>img")[0];
for(let i=0;i<icons.length;i++){
icons[i].index = i;
icons[i].onclick = function(){
for(let i=0;i<icons.length;i++){
icons[i].classList.remove("current")
}
this.classList.add("current")
var index =this.index;
show.src = `images/0${index+1}.png`
}
}
</script>
1-1、jquer-画廊效果
- siblings() —>获取兄弟元素
- index() —>获取元素的下标值
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> <style> *{margin: 0;padding: 0} .small-icons img{ width: 116px; } .current{ border: 2px solid pink; } </style> </head> <body> <div class="small-icons"> <img src="images/01.png" alt="" class="current"> <img src="images/02.png" alt=""> <img src="images/03.png" alt=""> <img src="images/04.png" alt=""> <img src="images/05.png" alt=""> </div> <div class="content"> <img src="images/01.png" alt="" class="current"> </div> <script> $(".small-icons img").click(function(){ $(this).addClass("current").siblings().removeClass("current") var index=$(this).index(); $(".content>img").attr("src",`images/0${index+1}.png`) }) </script> </body> </html>
二、协议按钮禁用
<textarea cols="30" rows="10">
明月清风晓星尘
傲雪凌霜宋子琛
</textarea><br>
<input id="btn" type="button" value="请仔细阅读(5)" disabled>
<script>
var btn = document.getElementById("btn");
var time = 5;
var timer = setInterval(function(){
time--;
if(time<=0){
btn.value = "同意"
btn.disabled = false;
}else{
btn.value = `请仔细阅读(${time})`
}
},1000)
</script>
三、图片随鼠标移动
鼠标距离X轴的距离
event.pageX<br /> event.clientX
*{margin: 0;padding: 0} img{ width: 300px; position: absolute; margin: 100px; border: 1px solid #333; } </style> </head> <body> <img src="images/01.png" alt=""> <script> var img = document.getElementsByTagName("img")[0] document.onmousemove = function(event){ var pageX = event.clientX; var pageY = event.clientY; img.style.cssText = `left:${pageX}px;top:${pageY}px` } </script>
四、拖动
onmousedown 鼠标按下
onmouseup 鼠标松开
<style> #move{ width: 200px; height: 50px; background: pink; position: absolute; left: 40%; top: 40%; cursor: pointer; } </style> </head> <body> <div id="move"> </div> <script> var move = document.getElementById("move"); move.onmousedown = function(event){ var clientX = event.clientX; var offsetX = this.offsetLeft; var spaceX = clientX - offsetX; var spaceY = event.clientY - this.offsetTop; document.onmousemove = function(event){ let pageX = event.clientX; var left = pageX-spaceX; var top = event.clientY-spaceY; move.style.cssText=`left:${left}px;top:${top}px` } } move.onmouseup = function(){ document.onmousemove = null } </script>
五、拖动-事件监听
onmousever
onmouseout
onmousedown 鼠标按下
onmouseup 鼠标松开
addEventListener bind
removeEventListener unbind<style> #move{ width: 200px; height: 50px; background: pink; position: absolute; left: 40%; top: 40%; cursor: pointer; } </style> </head> <body> <div id="move"> </div> <script> $("#move").mousedown(function(event){ var spaceX = event.clientX - $(this).offset().left; var spaceY = event.clientY - $(this).offset().top; $(document).bind('mousemove',function(event){ var left= event.clientX - spaceX; var top = event.clientY - spaceY; $("#move").css({left,top}) }) }) $("#move").mouseup(function(){ $(document).unbind("mousemove") }) </script>
六、搜索
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="keyword">
<button @click="handleAdd">添加</button>
<h4>历史记录</h4>
<button v-for="item of historyWords">{{item}}</button>
</div>
<script>
new Vue({
el:"#app",
data(){
return {
msg:"hello world",
keyword:"",
historyWords:["王妃","你的名字"]
}
},
methods:{
handleAdd(){
if(!this.historyWords.includes(this.keyword)){
this.historyWords.unshift(this.keyword)
}
}
}
})
</script>