我无法获得一些额外的jQuery。
我已经将它缩小到原始脚本中的以下两行代码,当删除时允许我的新jQuery工作,显然我需要这些才能让原始脚本运行。
var J = jQuery.noConflict();
var $ = function (x) {return document.getElementById(x);}
我试图添加的新代码是:
$(function(){
// Contact form - animates fading labels
$formItems = $("input:text, textarea");
$formItems
// fires after the page has loaded
// if the field has already some value the label becomes invisible
.each(function(){
if ($(this).val() !== '') {
$(this).prev().css({
opacity: '0'
});
};
})
// fires on focus
// if a focused field has no value label fades away
.focus(function(){
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '0'
}, 200);
}
})
// fires when the input field is no longer focused
// labels fade in if there is no input in input fields
.blur(function(){
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '1'
}, 200);
}
})
});
答案 0 :(得分:2)
(function($) {
$(function(){
// Contact form - animates fading labels
$formItems = $("input:text, textarea");
$formItems
// fires after the page has loaded
// if the field has already some value the label becomes invisible
.each(function(){
if ($(this).val() !== '') {
$(this).prev().css({
opacity: '0'
});
};
})
// fires on focus
// if a focused field has no value label fades away
.focus(function(){
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '0'
}, 200);
}
})
// fires when the input field is no longer focused
// labels fade in if there is no input in input fields
.blur(function(){
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '1'
}, 200);
}
})
});
})(jQuery);
您的脚本会覆盖$
,因此您无法再使用它来引用jQuery。使用此匿名函数,您再次获得参数$
并将jQuery传递给它。因此,在您的匿名函数中,您可以再次使用$
来引用jQuery。
希望这有帮助