我正在尝试在页面上放置一个链接,该链接将弹出供用户通过电子邮件共享页面的表单...
<a href="javascript:function()"><img src="images/email.jpg"></a>
<div id="tellfriend">
<form id='tellafriend_form' method="post" onsubmit="return executeOnSubmit();"
action="sharemail.php" name="tellafriend_form">
<label for="name">Your Name:</label>
<input class="std_input" type="text" id="name" name="name" size="40" maxlength="35" value="">
<label for="to">Recipient's Email:</label>
<input class="std_input" type="text" id="to" name="email" size="40" maxlength="35">
<label for="message">Message:</label>
<textarea id="message" name="message" rows="18" cols="40">
message here</textarea>
<input type="submit" onclick="javascript: pageTracker._trackPageview('/share/wf360');" name="submit" class="form_but" value="Submit">
</form>
</div><!-- #tellfriend -->
这是我使用的javascript(除了jQuery):
<script>
jQuery.fn.fadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle'}, speed, easing, callback);
};
$(document).ready(function() {
$('#tellfriend').hide();
$('a.email, #tellfriend a.close').click(function() {
$("#tellfriend").fadeToggle('slow');
});
});
</script>
<script type="text/javascript">
function executeOnSubmit()
{
alert('Email has been successfully sent. Thanks for sharing!');
}
</script>
我不确定为什么它不起作用:表格没有弹出。
最佳答案
看来您正在尝试替换现有的fadeToggle()
函数。
另外,现有的fadeToggle()
函数不接受'toggle'
作为不透明度的值。引自jQuery API页面:
.fadeToggle()的工作原理与.fadeOut()和.fadeIn()相同。像.fadeOut()一样,.fadeToggle()会淡化元素(如果可见)。像fadeIn()一样,如果元素被隐藏,它将使元素淡入。即使元素以不透明度0开头,即使它占用了文档中的空间(即,它具有高度或宽度),也不会被认为是隐藏的。具有可见性的元素也是如此:隐藏。您可以使用.fadeTo()或.animate()在不影响其显示属性的情况下将元素从一种不透明性淡入另一种。但是,如果执行此操作,则最初显示的元素将不会显示:仅因为要对不透明度进行动画处理,任何元素都不会变得可见。希望能有所帮助。
因此,请尝试删除开始时添加的功能,然后看起来其余代码应该没问题。
更新:
看完您的站点后,您似乎有两个jQuery副本,即v1.4.2(不带fadeToggle()
和v1.5.2,不带relative
。但是您在加载许多其他脚本之后加载了v1.5.2)加载...因此,我在萤火虫上看到“ $不是函数”错误,因此,请尝试用v1.5.2。完全替换v1.4.2(第一个脚本标记),然后获取firebug;)
实际上,该脚本确实可以工作-但由于上述原因,其他脚本可能已损坏。表单在第一个图像旁边的顶部弹出WAY。您需要将位置从绝对位置更改为left
,并将CSS中的130px
调整为左右。
关于javascript - 为什么不调用此功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5862475/