html怎么插动态图片不显示不出来,layer插件layer.photos()动态插入的图片无法正常显示...
html怎么插动态图片不显示不出来,layer插件layer.photos()动态插入的图片无法正常显示...
layer插件layer.photos()动态插入的图片无法正常显示,点击后面插入的图片,显示的是之前的图片列表,再次点击又是正常
有朋友遇到同样的问题
.html
layer v2.4 弹层组件
layer.photos动态插入图片后,点击新插入的图片会弹出插入前的最后一张图片。
如果再次调用layer.photos,点击新图片会提示错误:
layer.js:1006 Uncaught TypeError: Cannot read property ‘src‘ of undefined
现在的解决办法是在layer.js中的第902行的
loop || parent.on(‘click‘, options.img, function(){
改为
loop || parent.off(‘click‘).on(‘click‘, options.img, function(){
不知道有没有什么更好的办法可以解决动态插入图片的问题。
我的解决办法是:
点击之前,先把图片data数据弄好
把上面的代码改成
loop || parent.on(‘click‘, options.img, function(){
pushData();var othis = $(this), index = othis.attr(‘layer-index‘);
layer.photos($.extend(options, {
photos: {
start: index,
data: data,
tab: options.tab
},
full: options.full
}),true);
})
解决!!
这样改后,无论是增加图片,还是移除图片,效果正常
使用tips:
1.如果需要重复执行layer.photos(),避免重复创建遮罩,可以加上id参数避免重复创建!
//调用示例
layer.photos({
id:‘img‘,
photos:‘#layer-photos-demo‘,anim:5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
});
2. layer.photos(),options.photos参数最好使用页面上存在DOM结构,因为是使用事件委托绑定的事件。
原文:.html
- 有关欧拉函数
- DataGridView.BorderStyle 属性
- java.lang.NullPointerException: null
- mybatis实战:一、mybatis入门(配置、一些问题的解决)
- Java中int的取值范围
- dump文件深度分析
- 文本长度过长时隐藏并显示省略号“...”,以及鼠标停留时悬浮显示全部文本(兼容IE)
- 设置开机自动启动chrome浏览器
- 浅谈Linux标准的文件系统(Ext2Ext3Ext4)
- ADFS 概念与基本开发介绍
- 【TCP专题】TCP连接断开
- 欧几里得距离和曼哈顿距离
- Hashtable简述
- web弹出对话框
- Linux网络之curl命令详解
- Python 爬取网页
- 数据挖掘——机器学习
- (十四)STM32——外部中断(EXTI)
- DBCC 简介
- socat 虚拟串口在 linux OS中如何实现?