(0)写在前面
jquery、simpleModal、浏览器这三者的兼容性,不仅显示在报错上,还体现在所呈现的效果不是预期上。
说一下我的环境
jquery-1.8.3.js
jquery.simplemodal.js 1.4.4
chrome49
去官网下载simpleModal,可以省去很多麻烦,比如名子一样但内容不一样,说多了都是泪啊
(1)快速入手
导入顺序
<script type="text/javascript" src="jquery-1.8.3.js" ></script>
<script type="text/javascript" src="jquery.simplemodal.js" ></script>
将下列代码黏贴到你的html文件
<body>
<div id="lol" style="border:1px solid red;display:none">
<p>很好,你可以继续看下去了</p>
<button type="button" class="simplemodal-close">关 闭</button>
</div>
<script>
$(function()
{
$('#lol').modal();
});
</script>
</body>
如果你看到lol元素在浏览器视口的位置是,左右居中,上下居中,点击关闭按钮隐藏,浏览器没报错,可以继续了。
(1)详细介绍
继续以往的观点,这里不是JQuery官网
说一些比较常见的,新鲜的东西,了解这些,你就可以完成大部分工作,并知道怎么找到自己不知道的
有兴趣的的小伙伴可以通过debug查看元素信息
(a) $.modal
$.modal("<div>123</div>");
自己看效果
(b)传递参数
可以这样使用
$('#lol').modal({
})
对象里可以放入以下参数,单不限于以下参数
position: ['0']
数组里可以放入两个参数,指定top,left的值(不是lol的)
只有一个时,指定top
overlayId: 'osx-overlay',
opacity: 75,
overlayClose: true,
overlayId: 'osx-overlay' 指定simpleModal框架自动创建的div的id名,你将获得控制权,注意,你需要手动的加上这个样式,最好在给他指定一个非白色的背景色
opacity: 75 osx-overlay所代表元素显示时,内容的透明度
overlayClose: true osx-overlay所代表元素被点击时,是否回到上一个状态,看到的现象是lol所代表的元素不可见了。
onOpen:
onClose:
两个属性可以绑定函数,覆盖默认的显示、关闭函数
(c)不显示
sampleModal会为含有类为simplemodal-close的元素自动绑定关闭行为,列如
<button type="button" class="simplemodal-close">关 闭</button>
(2)综合练习
style样式
<style type="text/css">
#osx-overlay
{
background-color:black;
}
</style>
body区域(含js)
<body>
<div id="lol" style="border:1px solid red;display:none">
<p>遁地龙卷风</p>
<button type="button" class="simplemodal-close">关 闭</button>
</div>
</body>
<script>
$(function()
{
$('#lol').modal({
position: ['0'],
overlayId: 'osx-overlay',
opacity: 75,
position: ['0'],
overlayClose: true,
});
});
</script>