我写的 jQuery代码

简介: function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.
<!--   引入jQuery -->
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

        $(function() {
            var subshowtime = "";   //变量,“2秒后自动隐藏”的对象赋值给这个变量
            var urlparamsub = "";      //接收从上一链接的页面传递过来的参数1 子菜单(span)
            var urlparammain = ""     //接收从上一链接的页面传递过来的参数2 主菜单(图片)id
            var $imghoverobj = "";       //记录鼠标悬停的图片对象
            var $subspanhoverobj = "";   //记录鼠标悬停在某个子菜单(span)的对象
            var $subspanchkedobj = ""; //记录点击的子菜单的span对象
            // 页面跳转后接收传递的参数,并初始化一些参数:选中的子菜单和主菜单
            //根据url传来的参数,对主菜单和子菜单的处理
            // 功能:1,将点击的主菜单样式变成点击后的样式。2,点击的主菜单对应的子菜单(div)显示。
            //       3,显示的子菜单里的点击的子菜单(span)的显示
            function getUrlParameter() {
   
                var strHref = "";
                //接收当前URL的信息,注意 这里加 parent,获得 整个框架的url
                strHref = parent.document.location.toString();  
                var intPos = strHref.indexOf("?");     //取得"?"的位置 
                var urlparam = strHref.substr(intPos + 1); //获取到右边的参数部分"f=..&page=..."
                intPos = urlparam.indexOf("&");
                urlparamsub = urlparam.substr(2, intPos - 2); //子菜单(span)id :spanimgsolutions2
                urlparammain = urlparam.substr(intPos + 6); //主菜单的名字,其中前面的img被省略了
                if (urlparamsub == "") { //页面第一次打开的时候,参数设定
                    urlparamsub = "spanimghome";   
                    urlparammain = "home";        
                }
                urlparammain = "img" + urlparammain + "id"; //主菜单(图片)的id
                $subspanchkedobj = $("#" + urlparamsub); //记录点击的子菜单的span对象
                imgClickStyle($("#" + urlparammain));     // 1
                imgMatchSubShow($("#" + urlparammain)); //2 和 3
    
            }
            getUrlParameter(); //页面加载的时候直接运行
            
            //===================================================================================================================\\
            //|| 鼠标点击某个子菜单(span)的事件,传递的参数:1,f:点击的子菜单(span)的id . 2,主菜单的名字,其中前面的img被省略了||
            //===================================================================================================================\\
            $("#subMenu span").click(function() {
                SubSpanclickedStyle($(this)); //子菜单(即span)点击后的样式
                var f = "";      //子菜单的名字
                var varpage = "";   //主菜单的名字 
                var varhref = $(this).parent().attr("href");
                var varhrefspanid = $(this).attr("id"); //这里是span的id e.g : spanimgsolutions2
                f = $(this).text(); //暂时没用 span 里的 text
                varpage = $(this).parent().parent().attr("id").substr(3); //solutions
                window.open(varhref + "?f=" + varhrefspanid + "&page=" + varpage, "_parent");
            })
            //鼠标悬停在主某一菜单上(一个图片上)
            $("#imgDiv :not(.imgblank)").hover(function() {
                allHide(); //先将所有的子菜单隐藏
                if (subshowtime != "")
                    clearTimeout(subshowtime); //停止2秒后自动隐藏
                if ($imghoverobj != "") {   //上次鼠标悬停的菜单,恢复原来的图片
                    imgOriginalStyle($imghoverobj); //上次悬停的菜单恢复原来的src
                }
                imgHoverStyle($(this)); //悬停时候图片的新src属性
                if ($("#" + urlparammain).attr("id") == $(this).attr("id")) {
                    imgClickStyle($(this));     //保持点击后的样式
                }
                //this 对应的子菜单显示,及被选中的子菜单的样式的改变
                imgMatchSubShow($(this));
                $imghoverobj = $(this); //鼠标悬停的图片对象
            }, function() {   // 鼠标移开后(与上面的是联合事件)
                var varthisobj = $(this).attr("class"); //从主菜单的属性class 获得子菜单的id(认为设定主菜单class属性值==对应该子菜单的id)
                var thisobj = document.getElementById(varthisobj); //获得子菜单的对象(子菜单的div)
                var $hiddiv = $(thisobj); //DOM 对象 转化成 Jquery 对象, $hiddiv 为 点击的主菜单对应的子菜单(div)对象
                subshowtime = setTimeout(function() { subDivHidAnChkedShow($hiddiv) }, 2000);   //2秒后自动隐藏及点击的菜单显示
            });

            $("#imgDiv :not(.imgblank)").click(function() {   //点击主菜单事件
                //主菜单点击后的样式
                imgClickStyle($(this));
                //imgcontactid   --- spanimgcontact
                var varid = $(this).attr("id");
                var indexvar = varid.lastIndexOf("id");
                var temp = varid.slice(0, indexvar); //取出字符串的中间部分 “contact”
                var subid = "span" + temp;       //取得子菜单的id
                $("#" + subid).triggerHandler("click");
            })
            //-----------------------下面是对子菜单的处理--------------◆------------------\\
            $("#subMenu div").hover(function() {   //鼠标悬停在子菜单(div层)的事件
                if (subshowtime != "")
                    clearTimeout(subshowtime);
                $(this).show();
            }, function() {     //鼠标离开子菜单(div层)的事件
                var $hiddiv = $subspanhoverobj.parent().parent();
                subshowtime = setTimeout(function() { subDivHidAnChkedShow($hiddiv) }, 2000);   //2秒后自动隐藏及点击的菜单显示
            });
            $("#subMenu span").hover(function() {      //鼠标悬停在某个子菜单的事件
                if ($subspanchkedobj.attr('id') == $(this).attr('id')) { //如果this 是有点击过的子菜单
                    SubSpanclickedStyle($(this));
                }
                else {
                    subSpanHoverStyle($(this)); //鼠标悬停的span的样式
                    $subspanhoverobj = $(this);   //记录鼠标悬停的span的对象
                }
            }, function() {       //鼠标离开某个子菜单的事件
                if ($subspanchkedobj.attr('id') == $(this).attr('id')) { //如果this 是有点击过的子菜单
                    SubSpanclickedStyle($(this));
                } else {
                    subSpanOriginalStyle($(this)); //恢复span 最原始的样式
                }
            });
            //=====================================================================\\
            //|| 某一子菜单(div)2秒后自动隐藏,被点中的主菜单对应的子菜单显示   ||
            //======================================================================\\
            function subDivHidAnChkedShow($subdiv) {
                $subdiv.hide();         //子菜单隐藏
                if ($subspanchkedobj != "") //如果有子菜单(span)被选中,则该子菜单对应的父级的父级的菜单(div)显示
                    $subspanchkedobj.parent().parent().show();
            }
            //=========================================\\
            //|| 某一主菜单(即图片)最原始的样式 ||
            //=========================================\\
            function imgOriginalStyle($imgObj) {
                var Num1 = $imgObj.attr("src").indexOf("_"); // “_”的位置,(js 下标从0开始)
                var NewStrUrl1 = $imgObj.attr("src").substring(0, Num1 + 1);    //截取 “_”之前的字符串
                var NewSrc1 = NewStrUrl1 + "up.gif";   //原来的图片
                $imgObj.attr("src", NewSrc1);   // 菜单恢复原来的src
            }
            //==========================================\\
            //|| 某一主菜单(即图片)鼠标悬停时的样式 ||
            //==========================================\\
            function imgHoverStyle($imgObj) {
                var Num = $imgObj.attr("src").indexOf("_"); // “_”的位置,(js 下标从0开始)
                var NewStrUrl = $imgObj.attr("src").substring(0, Num + 1);    //截取 “_”之前的字符串
                var NewSrc = NewStrUrl + "over.gif"; //记下this的src
                $imgObj.attr("src", NewSrc);     //悬停时候图片的新src属性
                $imgObj.css("cursor", "pointer"); //鼠标变成手型    
            }
            //======================================\\
            //|| 某一主菜单(即图片)点击后的样式 ||
            //======================================\\
            function imgClickStyle($imgObj) {
                var ckNum = $imgObj.attr("src").indexOf("_"); // “_”的位置,(js 下标从0开始)
                var ckNewStrUrl = $imgObj.attr("src").substring(0, ckNum + 1);    //截取 “_”之前的字符串
                var ckNewSrc = ckNewStrUrl + "there.gif";     //点击后的图片src
                $imgObj.attr("src", ckNewSrc);    //点击图片的新src属性
                $imgObj.css("cursor", "auto"); //鼠标变成手型
            }
            //========================================\\
            //||点击主菜单,对应的子菜单(div)的显示||
            //========================================\\
            function imgMatchSubShow($imgobj) {
                var varthisobj = $imgobj.attr("class"); //从主菜单的属性class 获得子菜单的id(认为设定主菜单class属性值==对应该子菜单的id)
                var thisobj = document.getElementById(varthisobj); //获得子菜单的对象(子菜单的div)
                $thisobj = $(thisobj); //DOM 对象 转化成 Jquery 对象
                $thisobj.show();     //子菜单显示
                //如果“子子菜单(span)”对应的父级主菜单是显示的子菜单(div)
                if ($subspanchkedobj.parent().parent().attr("id") == $thisobj.attr("id"))
                    SubSpanclickedStyle($subspanchkedobj);    //点击的子菜单的span对象显示
            }
            //========================================\\
            //|| 某一子菜单(即span)点击后的样式   ||
            //========================================\\
            function SubSpanclickedStyle($subspanobj) {
   
                if ($subspanobj.text().length != 0) {   //筛选,因为页面上有2个主菜单对应的子菜单内容知识个空格
                    $subspanobj.css("background-color", "#112277");
                    $subspanobj.css("color", "#ffffff");
                }
            }
            //==========================================\\
            //|| 某一子菜单(即span)鼠标悬停的样式   ||
            //==========================================\\
            function subSpanHoverStyle($subspanobj) {
                if ($subspanobj.text().length != 0) {   //筛选,因为页面上有2个主菜单对应的子菜单内容知识个空格
                    $subspanobj.css("background-color", "#7788bb"); //背景颜色变换
                    $subspanobj.css("color", "#ffffff");    //字体颜色发生变化
                }
            }
            //==========================================\\
            //|| 某一子菜单(即span)最原始的样式   ||
            //==========================================\\
            function subSpanOriginalStyle($subSpanObj) {
                $subSpanObj.css("background-color", "#bbccee");
                $subSpanObj.css("color", "#666666");
            }
        }) // “$(function() { ” 的结果标签
        function allHide() {   //全部的子菜单隐藏,除了点击后的主菜单对应的子菜单
            $("#subMenu div").hide();
        }
    </script>
相关文章
|
6月前
|
JavaScript
jQuery幸运大转盘抽奖活动代码
jQuery幸运大转盘抽奖活动代码
79 7
jQuery幸运大转盘抽奖活动代码
|
JavaScript
基于jQuery的公告无限循环滚动实现代码
基于jQuery的公告无限循环滚动实现代码
57 0
|
JavaScript 开发者
|
JavaScript
jQuery 五角星评分案例(详细代码)
jQuery 五角星评分案例(详细代码)
108 0
|
3月前
|
JavaScript
鼠标事件(点击换色)分别使用js和jQuery代码实现
鼠标事件(点击换色)分别使用js和jQuery代码实现
40 1
|
6天前
|
JavaScript
jQuery实现的星级打分带评价及颜色区分代码
jQuery实现的星级打分带评价及颜色区分效果代码是一款支持自定义评论颜色的星级评价打分,其中红色为一星级,差评、绿色位五星级、满分好评,本段代码适应于所有网页使用,有需要的朋友们就来下载使用吧。
13 2
|
6月前
|
JavaScript 前端开发
jquery酷炫的马赛克图片还原动画代码
jquery酷炫的马赛克图片还原动画代码,jquery马赛克图片动画,js酷炫图片代码,马赛克图片js还原效果,js图片分散汇聚效果素材
107 1
|
5月前
|
JavaScript 前端开发
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
35 0
|
6月前
|
JavaScript 前端开发 索引
jQuery学习教程,写更少的代码,做更多的事情(二)
jQuery学习教程,写更少的代码,做更多的事情(二)