从函数返回值作为jQuery参数的值
Return value from function as value for parameter in jQuery
参数content
的值应该是获取内容的函数。我想我可以这样写:
$(".fancy-detail-page").fancybox({
'content' : function(){
var id = $(this).attr('id');
id = id.replace("pd", "c");
var content = $('#' + id + ' .product-details').html();
return content;
},
'padding' : 0,
'openEffect' : 'none',
'closeEffect' : 'none',
'maxWidth' : 960
});
但是return
似乎不起作用。如何正确地做到这一点?
多亏了jqueryrocks和roast。这个解决方案对我很有效:
$(".fancy-detail-page").click(function(e){
e.preventDefault();
var id = $(this).attr('id');
$.fancybox({
'content' : (function(){
id = id.replace("pd", "c");
var content = $('#' + id + ' .product-details').html();
return content;
})(),
'padding' : 0,
'openEffect' : 'none',
'closeEffect' : 'none',
'maxWidth' : 960
});
});
如果不使事情复杂化,您可以使用beforeLoad
回调来获得相同的结果,并且它会更干净,更简单和更快,如:
$(".fancy-detail-page").fancybox({
padding: 0,
openEffect: 'none',
closeEffect: 'none',
maxWidth: 960,
beforeLoad : function () {
var id = $(this.element).attr("id").replace("pd", "c");
this.content = $('#' + id + ' .product-details').html();
}
});
JSFIDDLE
和这一行
this.content = $('#' + id + ' .product-details').html();
可以简化为
this.content = $('#' + id + ' .product-details');
不需要.html()
得到相同的结果。看到更新JSFIDDLE
假设这是同一个插件
每个API看起来'content'必须是data.
"content强制内容(可以是任何html数据)"http://fancybox.net/api
所以你只需要在初始化fancybox之前调用这个函数(或者设置一个内容变量);
var id = $(this).attr('id');
id = id.replace("pd", "c");
var content = $('#' + id + ' .product-details').html();
$(".fancy-detail-page").fancybox({
'content' : content,
'padding' : 0,
'openEffect' : 'none',
'closeEffect' : 'none',
'maxWidth' : 960
});
相关文章:
- 我的jQuery插件参数没有正确启动,遇到了问题
- jquery设置为使用参数运行
- 如何向这个javascript/jquery函数添加参数
- 如何使用JQuery在HTML中创建包含字符串参数的引号的onclickjavascript链接
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- 如何在扩展jQuery方法时传递参数
- 将额外的参数传递给jquery.延迟回调
- 使用jquery变量作为.net MVC中ActionLink的参数
- 如何使用jQuery插件参数变量
- 如何使用pass参数从jQuery.getJSON获取回调
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 如何用javascript替换Jquery字符串上的新参数
- 将字符串作为参数传递给函数onclick event jquery
- 带有键代码参数Jquery的模拟按键功能
- 如何使用jQuery上下文参数
- 如何传递参数 jQuery 并返回函数值
- 如何检测是参数jQuery对象
- 单击网址时抓取网址参数.Jquery,Javascript
- 如何在JavaScript中从数组中选择多个参数(jQuery.path)