1

我尝试使用 for 循环创建弹出窗口,但不起作用。为什么?

http://jsfiddle.net/edgardaraujo/Rud3G/2/

我感谢大家的帮助。

content html

<div data-role="page" id="page1">
    <div data-role="content">
        <div id="output"></div>
    </div>
    <!-- /content -->
</div>


content jquery

var array = new Array();

array[0] = "link-image-1";
array[1] = "link-image-2";
array[2] = "link-image-3";
var len = Object.keys(array).length;

for (i = 0; i < len; i++) {

    var popup = array[i];

    $('#output').css({'font-weight': 'bold'}).append('<a href="#' + popup + '" data-rel="popup" data-position-to="window" data-transition="fade"><img class="popphoto" src="' + popup + '" alt="photo, test" style="width:30%"></a>');

    var arrayPhotos = $('<div data-role="popup" id="' + popup + '" data-overlay-theme="a" data-theme="d" data-corners="false"></div>');

    arrayPhotos.append('<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>   <img class="popphoto" src="' + popup + '" style="max-height:512px;" alt="photo, test">');

}
4

1 回答 1

3

更新

动态创建时[data-role=popup],需要使用.trigger('create').

演示


href您的弹出链接有误。您使用popup了保存图像链接的变量,而不是使用 count 变量i

href="#popup' + i + '"

这里

$('#output').css({ 'font-weight': 'bold'}).append('<a href="#popup' + i + '" data-rel="popup" data-position-to="window" data-transition="fade"><img class="popphoto" src="' + popup + '" alt="photo, test" style="width:30%"></a>');

var arrayPhotos = $('<div data-role="popup" id="popup' + i +'" data-overlay-theme="a" data-theme="d" data-corners="false"></div>');
于 2013-05-15T21:04:29.963 回答