需要包含的文件
1 2 3 4 5 6 7 8 | <!-- Magnific Popup core CSS file --> < link rel = "stylesheet" href = "magnific-popup/magnific-popup.css" > <!-- jQuery 1.7.2+ or Zepto.js 1.0+ --> <!-- Magnific Popup core JS file --> < script src = "magnific-popup/jquery.magnific-popup.js" ></ script > |
虽然不是必需的,但我们建议把CSS文件放在 <head> 内,JS文件和初始化代码放在 </body>之前。
如果你已经导入了 jQuery.js,就不要再次包含它。当然你可以使用
1 | jQuery.noConflict(); |
另外,你可以选择包含Zepto.js代替jQuery。或者根据浏览器来选择加载哪一个。
初始化popup(弹出窗口)
Popup 的初始化代码应该在document(文档)ready之后执行,例如:
1 2 3 | $(document).ready( function () { $( '.image-link' ).magnificPopup({type: 'image' }); }); |
1、通过一个HTML元素
1 2 3 4 5 | <a class= "test-popup-link" href= "path-to-image.jpg" >Open popup</a> $( '.test-popup-link' ).magnificPopup({ type: 'image' // other options }); |
2、通过一组有共同父元素的子元素
和之前的一样,不同的是创建一个弹出列表。注意,此方法不支持gallery(画廊)模式,它只不过减少了单击事件处理函数的数量――每个元素以独立的窗口弹出。如果你要使用gallery模式,添加gallery:{enabled:true}选项。
1 2 3 4 5 6 7 8 9 10 | <div class= "parent-container" > <a href= "path-to-image-1.jpg" >Open popup 1</a> <a href= "path-to-image-2.jpg" >Open popup 2</a> <a href= "path-to-image-3.jpg" >Open popup 3</a> </div> $( '.parent-container' ).magnificPopup({ delegate: 'a' , // child items selector, by clicking on it popup will open type: 'image' // other options }); |
3、通过“items”选项
items选项为弹出项定义了一组数据,并且让Magnific Popup忽略目标DOM元素的所有属性值。items的值可以是单个对象或一个对象数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // Example with single object $( '#some-button' ).magnificPopup({ items: { src: 'path-to-image-1.jpg' }, type: 'image' // this is default type }); // Example with multiple objects $( '#some-button' ).magnificPopup({ items: [ { src: 'path-to-image-1.jpg' }, { type: 'iframe' // this overrides default type }, { src: $( '<div>Dynamically created element</div>' ), // Dynamically created element type: 'inline' }, { src: '<div>HTML string</div>' , type: 'inline' }, { src: '#my-popup' , // CSS selector of an element on page that should be used as a popup type: 'inline' } ], gallery: { enabled: true }, type: 'image' // this is default type }); |
Magnific Popup 一般支持4种类型:image、iframe、inline和ajax。由于并不存在基于URL的自动探测机制,因此你必须手工指定它。
有两种方法可以定义content type:
1、使用type选项,例如:
1 | $( '.image-link' ).magnificPopup({type: 'image' }) |
2、使用 mfp-TYPE CSS 类,例如:
1 | < a class = "mfp-image image-link" >Open image</ a >, $('.image-link').magnificPopup() |
其中,第二种方法会覆盖第一种方法,因此你可以在一次调用定义多种类型的content type。
inline是默认的content type(从v0.8.4以来)。
有几种方法可以定义弹出窗口的源(例如,一张图片、一个HTML文档,一个视频页):
方法一:使用 href 属性:
1 | < a href = "image-for-popup.jpg" >Open image</ a > |
方法二:使用data-mfp-src属性(覆盖方法一):
1 | < a href = "some-image.jpg" data-mfp-src = "image-for-popup.jpg" >Open image</ a > |
方法三:使用 items 选项
1 2 3 4 5 6 | <pre name= "code" class= "javascript" >$.magnificPopup.open({ items: { src: 'some-image.jpg' }, type: 'image' }); |
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com