js小效果:上移和下移!

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="http://wangshixiong.vip/zp/move.js"></script>

<style type="text/css">

body {

background: #D9D1CB;

margin: 0;

}

ul, li {

list-style: none;

padding: 0;

margin: 0;

}

.box {

width: 1200px;

height: 800px;

margin: 0 auto;

position: relative;

background: url(http://cdn.attach.qdfuns.com/notes/pics/201701/20/195424zwu5vxeuw1xlzl25.jpg) no-repeat;

}

.content {

position: absolute;

width: 400px;

top: 200px;

left: 50px;

}

li {

height: 40px;

padding: 0 10px 0 10px;

margin-bottom: 6px;

background: #745857;

border-radius: 6px;

line-height: 40px;

position: relative;

}

.name {

float: left;

font-family: simhei;

color: white;

font-size: 18px;

}

.btn {

float: right;

display: inline-block;

}

.btn span {

text-align: center;

/*margin-top: 3px;*/

vertical-align: middle;

line-height: 30px;

margin-right: 6px;

display: inline-block;

border-radius: 6px;

background: #EFEEF4;

width: 50px;

height: 30px;

cursor: pointer;

border: 1px solid #1A222D;

}

.btn span:hover {

background: mediumpurple;

color: white;

}

</style>

</head>

<body>

<div class="box">

<ul class="content">

<li>

<span class="name">Happy New Year to yo</span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

<li>

<span class="name">Happy birthday to you!</span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

<li>

<span class="name">There was genuine joy</span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

<li>

<span class="name">happy cheerful glad</span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

<li>

<span class="name">a joyous family </span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

<li>

<span class="name">She is a happy girl. </span>

<div class="btn">

<span>上移</span>

<span>下移</span>

</div>

</li>

</ul>

</div>

</body>

<script type="text/javascript">

var ul = document.getElementsByTagName(‘ul‘)[0];

var lis = ul.children; //获取到所有的li

var tips = document.getElementsByClassName(‘tips‘);

for(var i = 0; i < lis.length; i++) {

var preMove = lis[i].children[1].children[0]; //上移按钮

var downMove = lis[i].children[1].children[1]; //下移按钮

//点击上移

preMove.onclick = function() {

var thisLi = this.parentElement.parentElement; //当前点击的li

var preLi = this.parentElement.parentElement.previousElementSibling; //当前点击的li的上一个

if(!preLi) { //当没有上一个元素时 停止运行

return;

} else {

move(thisLi, {top: -46}, 300, ‘linear‘, end)

move(preLi, {top: 46}, 300, ‘linear‘, end)

}

//调换位置

function end() {

thisLi.style.top = 0;

preLi.style.top = 0;

ul.insertBefore(thisLi, preLi);

}

};

//点击下移

downMove.onclick = function() {

var thisLi = this.parentElement.parentElement; //当前点击的li

var nextLi = this.parentElement.parentElement.nextElementSibling; //当前点击的li的下一个

if(!nextLi) { //当没有下一个元素时,停止

console.log(‘没有下一个了‘);

return;

} else {

move(thisLi, {top: 46}, 300, ‘linear‘, end)

move(nextLi, {top: -46}, 300, ‘linear‘, end)

}

//调换位置

function end() {

thisLi.style.top = 0;

nextLi.style.top = 0;

ul.insertBefore(nextLi,thisLi );

}

};

}

</script>

</html>

需要web前端课程工具和电子书,可以加群120342833

时间: 2024-10-12 17:02:49

js小效果:上移和下移!的相关文章

js小效果-轮播图

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; list-style: none; } #wrap{ width:500px; height:260px; margin:50px auto; position:r

js小效果:返回顶部

返回顶部: <div id="gotop" onclick="javascript:scroll(0,0);"><img src="images/top33x33.png"></div> <style type="text/css"> #gotop{display:none;position:fixed;right:5px;bottom:4rem;width:33px;heigh

js小效果-全选

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script> window.onload=function(){ var aBtn=document.getElementsByTagName('input'); var count=0; aBtn[0].onclick=fun

js数组移动上移下移置顶置底,vue实现表格上下移动置底置顶

js操作数组移动 //先封装js数组交换顺序方法 /*参数说明 arr是要操作的数组 index1 是准备移动的元素 index2 是准备移动到的位置 往下移就是 index2=index+1 往上移动就是 index2=index+1: 这个也可以在页面试试那个方法就指导了,但是置顶和置底还有点差别 */ var swapItems = function(arr, index1, index2,direction) { if(direction=='up'){//置顶 arr.unshift(

JS实现LI行数据的上移和下移

JavaScript实现的代码,JavaScript排序功能演示,点击按钮实现数据的上移和下称,一共有两组测试效果,上组采用箭头图标控制的方式,更美观,下组是直接使用文字,根据你的需要自行选择.myList为ul的id值,m为0显示文字,m为1显示图片,mO.mT为文字或图片内容. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD

js之图片变大变小效果

1.当鼠标移到图片上,图片变大:当鼠标移出图片,图片变小,效果如图: 2.原理不难,就是鼠标over时,设置一个定时器,让图片逐渐变大,鼠标out时同理,看下最初的简略代码你就会明白: <!DOCTYPE html> <html> <head> <style type="text/css"> div {     width: 200px;           /* 宽度 */     height: 100px;          /* 

JS小插件之2——cycle元素轮播

元素轮播效果是页面中经常会使用的一种效果.这个例子实现了通过元素的隐藏和显示来表现轮播效果.效果比较简单. 效果图如下: 源代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;"> 5 <title> cycle demo </titl

一个随机上翻的小效果

html <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html; charset=uft-8"> <meta name="keywords

写个js小工具自动生成博文目录

我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到具体的内容,这样园友们在看博客的时候就可以很方便地浏览自己感兴趣的内容,但是遗憾的是博客园不支持博文目录的生成,好像也有园友给博客园提建议,希望能够像CSDN那样能够自动生成博文目录,但是不知道是什么原因,博客园一直都没有把这个功能加上去,既然没有,那我就自己做吧,研究了2天,总算是按照自己的设想做出来了,最终效果如下: 下面来介绍一下这个小工具的实现. 一.