JS传参及动态修改页面布局


Posted in Javascript onApril 13, 2017

一个关于JS传参及动态修改页面布局的简单小例子。

效果图:

JS传参及动态修改页面布局

HTML:

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="css/style.css" rel="external nofollow" />
 </head>
 <body>
  <div id="button"><h1>请为下面的DIV设置样式:</h1><div>点击设置</div></div>
  <div id="set">
   <div class="set1"><span>请选择背景色:</span><span onclick="cl('red')">红</span><span onclick="cl('yellow')">黄</span><span onclick="cl('blue')">蓝</span></div>
   <div class="set2"><span>请选择宽(px):</span><span onclick="wd(200)">200</span><span onclick="wd(300)">300</span><span onclick="wd(400)">400</span></div>
   <div class="set2"><span>请选择高(px):</span><span onclick="hd(200)">200</span><span onclick="hd(300)">300</span><span onclick="hd(400)">400</span></div>
   <span class="btn" onclick="reset()">恢复</span>
   <span class="btn" onclick="apply()">确定</span>
  </div>
  <div id="box"></div>
  <script type="text/javascript" src="js/js.js"></script>
 </body>
</html>

CSS:

/*top:26%; left:40%;*/
#box{width:100px; height: 100px; border:4px black solid;margin-top:100px;}
#button div{background: red; width:100px; height:40px; float:left; color:white; text-align: center; line-height: 40px; cursor: pointer;}
#set{width:20%; height:28%; border:15px rgb(156,148,156) solid; background:white; position: absolute; top:300px; left:300px; box-shadow: 0 0 8px gray; display:none;}
#set div{height: 40px; margin: 20px auto;}
#set div span{width:45px; height:40px; display:block; float:left; margin-left:10px; color:white; line-height:40px; text-align:center; cursor:pointer;}
#set div span:hover{border:1px black solid}
#set div span:nth-of-type(1){width:auto; color:black; font:18px/40px "微软雅黑"; margin-left:12%; border:none; cursor:auto;}  /*:nth-of-type()表示同级同容器下该种类型的第几个标签括号内的数字即指第几个,从1开始*/
#set .set1 span:nth-of-type(2){background:rgb(230,46,0); margin-left:5px;}
#set .set1 span:nth-of-type(2):hover{background:red}
#set .set1 span:nth-of-type(3){background:rgb(239,189,0)}
#set .set1 span:nth-of-type(3):hover{background:yellow}
#set .set1 span:nth-of-type(4){background:rgb(90,148,239)}
#set .set1 span:nth-of-type(4):hover{background:blue}
#set .set2 span{border:1px rgb(198,198,198) solid; color:rgb(136,140,143)}
#set .set2 span:nth-of-type(1):hover{background:white;}
#set .set2 span:nth-of-type(2){background:rgb(239,239,239); margin-left:5px;}
#set .set2 span:nth-of-type(3){background:rgb(239,239,239)}
#set .set2 span:nth-of-type(4){background:rgb(239,239,239)}
#set .set2 span:hover{background:rgb(239,148,0)}
#set .btn{width:60px; height:30px; background:#002952; color:white; display:block; float:left; margin-left:10px; margin-top:10px; text-align:center; line-height:30px; cursor:pointer;}
#set span:nth-of-type(1){margin-left:32%;}

JS:

onload = function(){           //加载完毕给div添加点击事件,可以不这么做,像下面的reset / apply一样建立一个函数并在该div上写上Onclick点击事件调用函数即可
 var btn = document.getElementById('button').getElementsByTagName('div');
 btn[0].onclick = function(){
  document.getElementById('set').style.display = 'block';
 }
}
var box = document.getElementById('box');     //建立全局变量获取DIV对象
function wd(x){            //改变宽度
 box.style.width = x + 'px';
}

function hd(x){           //改变高度
 box.style.height = x + 'px';
}

function cl(x){            //改变颜色
 box.style.background = x;
}

function apply(){
 document.getElementById('set').style.display = 'none';
}

function reset(){            //恢复DIV原来的布局
 box.style.width = 100 + 'px';
 box.style.height = 100 + 'px';
 box.style.background = 'white';
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
javascript轻量级模板引擎juicer使用指南
Jun 22 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
javascript数组定义的几种方法
Oct 06 Javascript
JS监听事件的叠加和移除功能
Nov 19 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
js blob类型url的视频下载问题的解决
Nov 29 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
Apr 13 #Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 #Javascript
MUI  Scroll插件的使用详解
Apr 13 #Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 #Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 #Javascript
mui上拉加载功能实例详解
Apr 13 #Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 #Javascript
You might like
PHP 身份证号验证函数
2009/05/07 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php的curl封装类用法实例
2014/11/07 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
jquery中radio checked问题
2015/03/16 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python创建和使用字典实例详解
2013/11/01 Python
Python正则表达式使用经典实例
2016/06/21 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
STP的判定过程
2012/10/01 面试题
幼儿园端午节活动总结
2015/05/05 职场文书
奖金申请报告模板
2015/05/15 职场文书
肖申克救赎观后感
2015/06/02 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android