首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将jQuery与超文本标记语言分离

如何将jQuery与超文本标记语言分离
EN

Stack Overflow用户
提问于 2012-01-10 05:29:42
回答 5查看 3.5K关注 0票数 3

我尝试了我能想到的所有组合,但都没有弄明白。下面是我的工作代码(都在HTML文档中):

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        var $alert = $('.alert');
        if ($alert.length) {
            var alerttimer = window.setTimeout(function () {
                $alert.trigger('click');
            }, 3000);
            $alert.animate({ height: $alert.css('line-height') || '50px' }, 200).click(function () {
                window.clearTimeout(alerttimer);
                $alert.animate({ height: '0' }, 200);
            });
        }
    });
</script>

这就是我的电话:

代码语言:javascript
复制
<div id="alert"><a href="../Home/English">English</a></div>

现在我想要重构,这样脚本就可以放在一个.js文件中。一旦重构,它会是什么样子?谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-10 05:31:23

只需将您的自定义代码放入.js文件中,将其上传到您的服务器,并在jQuery下引用它核心包括:

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="custom.js"></script>

然后在custom.js文件中放入定制的JS:

代码语言:javascript
复制
$(function () {
    var $alert = $('.alert');
    if ($alert.length) {
        var alerttimer = window.setTimeout(function () {
            $alert.trigger('click');
        }, 3000);
        $alert.animate({ height: $alert.css('line-height') || '50px' }, 200).click(function () {
            window.clearTimeout(alerttimer);
            $alert.animate({ height: '0' }, 200);
        });
    }
});

更新

我刚刚注意到您的示例HTML有一个ID为alert的元素,而您的JS代码正在搜索类为alert的元素。如果您想以ID为目标,则在前面加上散列(#),而不是句点:

代码语言:javascript
复制
var $alert = $('.alert');

应更改为:

代码语言:javascript
复制
var $alert = $('#alert');

您可能希望深入了解jQuery选择器(这将为您节省大量时间):http://api.jquery.com/category/selectors/

票数 7
EN

Stack Overflow用户

发布于 2012-01-10 05:32:08

它看起来完全一样,除了在一个单独的文件中。假设文件被添加到documentroot /js的子文件夹中

代码语言:javascript
复制
<script type="text/javascript" src="/js/site.js"></script>

site.js

代码语言:javascript
复制
$(function () {
    var $alert = $('.alert');
    if ($alert.length) {
        var alerttimer = window.setTimeout(function () {
            $alert.trigger('click');
        }, 3000);
        $alert.animate({ height: $alert.css('line-height') || '50px' }, 200).click(function () {
            window.clearTimeout(alerttimer);
            $alert.animate({ height: '0' }, 200);
        });
    }
});
票数 2
EN

Stack Overflow用户

发布于 2012-01-10 05:32:58

看起来不错你可以这样做

Html

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script type="text/javascript" src="YourScript.js"></script>

YourScript.js的内容

代码语言:javascript
复制
$(function () {
    var $alert = $('.alert');
    if ($alert.length) {
        var alerttimer = window.setTimeout(function () {
            $alert.trigger('click');
        }, 3000);
        $alert.animate({ height: $alert.css('line-height') || '50px' }, 200).click(function () {
            window.clearTimeout(alerttimer);
            $alert.animate({ height: '0' }, 200);
        });
    }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8795457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档