我想用一个函数设置变量的值,并将其传递给另一个函数,以便我可以使用它来确定结果。考虑尝试在下面定义变量'highlight':
定义功能:
<script>
$(document).on('click', '.more', function(t) {
var highlight = 1;
});
$(document).on('click', '.less', function() {
var highlight = 0;
});
</script>
现在我应该将高亮设置设置为1或0.我想在另一个脚本中使用它:
<script>
$(document).ready(function(){
var usericon_info = function(highlight){
var html = '';
if(highlight == 0)
//code... ;
if(highlight == 1)
//code... ;
return html;
}
});
</script>
但是,这些值似乎没有通过,我哪里错了?控制台中没有错误。
答案 0 :(得分:0)
通过设置函数内的值,可以将它们仅限于该函数。你在这里做的是在你点击类.more
时定义一个变量,它只能在那个click事件中访问,或者除非作为参数传递。
试试这个
var highlight;
$(document).on('click', '.more', function(t) {
highlight = 1;
});
$(document).on('click', '.less', function() {
highlight = 0;
});
请记住取出var,否则只需重置变量值。
答案 1 :(得分:0)
有几个问题 - 主要涉及在不同范围内多次定义highlight
。这些范围是:
.more
点击处理程序; .less
时钟处理程序;和usericon_info
的匿名函数范围内的$(document).ready()
变量的匿名函数。 var
关键字用于定义包含函数范围内的变量(或者如果没有包含函数,那么全局范围),因此您需要使用highlight
变量定义一次var
在所有使用它的地方共有的范围内 - 如果你这样做,那么所有这些函数都会引用同一个变量。
这样的事情:
$(document).ready(function(){
var highlight = 0;
$( '.more' ).on('click', function(){ highlight = 1; });
$( '.less' ).on('click', function(){ highlight = 0; });
var usericon_info = function(){
var html = '';
if(highlight == 0)
{
//code... ;
}
else if(highlight == 1)
{
//code... ;
}
return html;
}
});
答案 2 :(得分:0)
你必须定义像globals这样的变量。
你可以用两种不同的方式做到这一点
1 - 您必须将变量声明为
之类的任何函数 var highlight;
$(document).on('click', '.more', function(t) {
highlight = 1;
});
$(document).on('click', '.less', function() {
highlight = 0;
});
2-你用'var'声明变量,这样javascript理解是全局的。
$(document).on('click', '.more', function(t) {
highlight = 1;
});
$(document).on('click', '.less', function() {
highlight = 0;
});
答案 3 :(得分:-1)
变化:
$(document).on('click', '.more', function(t) {
var highlight = 1;
});
$(document).on('click', '.less', function() {
var highlight = 0;
});
为:
$(document).ready(function() {
$('.more').click(function(t) {
var highlight = 1;
});
$('.less').click(function() {
var highlight = 0;
});
});
这是更好的结构,以确保DOM已准备好进行操作和制作 确保你的功能适用于正确的事件。
编辑:
我还将研究jquery .toggle()函数。它可能对你有用。
http://api.jquery.com/toggle/