函数的jQuery参数
jQuery parameter for a function
这是我现在使用的代码:
$(document).ready(function(){
$('#btn2').click(function(){
$('iframe').contents().find('body').css('background-image', 'url(http://mk7vrlist.altervista.org/backgrounds/1.png)');
$('iframe').contents().find('body').css('opacity', 1.0);
});
});
这是HTML:
<select onchange="bg(this[this.selectedIndex].value);">
<option value="0.png" id="btn1">1. Default skin</option>
<option value="1.png" id="btn2">2. MK7 Collage</option>
<option value="1.png" id="btn3">3. Solid Queen</option>
</select>
当我单击2. MK7 Collage
时,正如您在我的jQuery函数中看到的,我的iframe的背景发生了变化。
我有3个选项值,每个选项值都有不同的背景和id。每次单击"选项值"时,我都想更改它们。就像:
$('#the_optionvalue_id').click(function(background_image_url){
$('iframe').contents().find('body').css('background-image', 'url(background_image_url)');
$('iframe').contents().find('body').css('opacity', 1.0);
});
我对jQuery很陌生,不知道每次选择option
时如何设置id(the_optionvalue_id
)和background_image_url
。有什么帮助吗?
尝试:
<select id="bgselector">
<option value="0.png" id="btn1">1. Default skin</option>
<option value="1.png" id="btn2">2. MK7 Collage</option>
<option value="1.png" id="btn3">3. Solid Queen</option>
</select>
然后将所有jQuery代码放入就绪函数中:
<script>
$(function() {
var iframe_body = $('iframe').contents().find('body'); //cache this for performance;
var set_bg = function(url) {
iframe_body.css({
'background-image': 'url(' + url + ')',
'opacity': 1.0);
});
}
$('#bgselector').change(function() {
set_bg($(this).val());
});
$('#btn2').click(function(){
set_bg('http://mk7vrlist.altervista.org/backgrounds/1.png');
});
});
</script>
jsFiddle Demo
基本上,您应该保留一个包含文件所在目录值的字符串,然后使用jquery的change
方法在select更改时更改css的值。下面是一个使用div显示值输出的简单示例:
html
<div id="body">http://mk7vrlist.altervista.org/backgrounds/0.png</div>
<select id="sel">
<option value="0.png" id="btn1">1. Default skin</option>
<option value="1.png" id="btn2">2. MK7 Collage</option>
<option value="2.png" id="btn3">3. Solid Queen</option>
</select>
js
var base = "http://mk7vrlist.altervista.org/backgrounds/";
$("#sel").change(function(){
$("#body").html(base + this.value);
});
因此,您可以让一个函数返回一个函数。外部函数可以取一个参数,所以你会得到:
$(document).ready(function(){
var clickHandlerGenerator = function(url) {
return function(){
$('iframe').contents().find('body').css('background-image', 'url(' + url + ')');
$('iframe').contents().find('body').css('opacity', 1.0);
});
$('#btn2').click(clickHandlerGenerator('http://mk7vrlist.altervista.org/backgrounds/1.png'));
$('#btn1').click(clickHandlerGenerator('http://mk7vrlist.altervista.org/backgrounds/WHATEVER.png'));
}
似乎不需要添加点击事件,因为每次值更改时都会调用一个名为bg
的函数。你可以在某个地方声明你的函数:
function bg(value) {
var base = 'http://mk7vrlist.altervista.org/backgrounds/';
$('iframe').contents().find('body').css({
'background-image': 'url(' + (base + value) + ')',
'opacity': 1
});
}
相关文章:
- 我的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)