PageSourceSearch

https://www.delosofa.com/js/public.js

js delosofa.com collected 2026-10-04 18:55:51 UTC 7,570 bytes, 191 lines download raw bytes

1/*&中文2017-01-05姜玮111&*/
2//副导航焦点定位
3var leftNavFocus = {
4    init: function() {
5        var elnav = $("[navcrumbs]").find("a");
6        var elbody = $("[navvicefocus]").find("a");
7        if (elnav && elbody) {
8        	for (var n = (elnav.length - 1); n >= 0; n --) {
9        		$.each(elbody, function(i, item) {
10	                if (elnav.eq(n).attr("href") === $(item).attr("href")) {
11	                    $(item).parent().siblings().removeClass("sidenavcur");
12	                    $(item).parent().addClass("sidenavcur");
13	                    return false;
14	                }
15	            });
16        	}
17        }
18    }
19};
20
21//主导航高亮
22$(function () {
23    /*如果没有各栏目的中心页面(如产品的中心页面index.aspx),
24    *就指定一个默认的替代导航选中 写上要选中主导航的索引
25    *一般用的最多的是资讯
26    */
27    var MARK = "";
28    var newsDefaultURL = 7;
29    var productDefaultURL = 4;
30    var agentDefaultURL = 0;
31    var helpDefaultURL = 9;
32    var projectDefaultURL = 0;
33    var downloadDefaultURL = 0;
34    var jobDefaultURL = 0;
35    //定义链接地址
36    var current = "";
37    var currentshort = "";
38    //面包屑导航的获取
39    var $plc = $("div.plc");
40    var $plc2 = $("div.t2-wz");
41    var $pro = $("div.pro_curmbs");
42
43
44    /*面包屑导航的判断*/
45    var $tmp = $plc.size() ? $plc : $plc2;
46    var $location = $tmp.size() ? $tmp : $pro;
47    //主导航的父级DIV
48    var $menu = $("div.menu");
49    //主导航的li,仅能选中一级,不带下拉列表样式
50    var $menuli = $menu.find("ul").eq(0).children("li");
51    //面包屑导航的超链接
52    var $info = $location.find("a");
53    //面包屑导航超链接的数量
54    var count = $info.size();
55    //定义选中样式
56    var _cur = "cur";
57    //取消所有选中
58    $menu.find("li").removeClass(_cur);
59    //定义一个对象
60    var Obj = new Object();
61    
62    //给对象添加一个方法,用来获取默认的链接地址
63    Obj.getCurrentURL = function () {
64        //判断MARK
65        //并查看是取默认MARK 还是取之前定义好的替代栏目导航
66        switch (MARK) {
67            case "product":
68                current = productDefaultURL ? productDefaultURL : MARK;
69                break;
70            case "news":
71                current = newsDefaultURL ? newsDefaultURL : MARK;
72                break;
73            case "project":
74                current = projectDefaultURL ? projectDefaultURL : MARK;
75                break;
76            case "agent":
77                current = agentDefaultURL ? agentDefaultURL : MARK;
78                break;
79            case "help":
80                current = helpDefaultURL ? helpDefaultURL : MARK;
81                break;
82            case "download":
83                current = downloadDefaultURL ? downloadDefaultURL : MARK;
84                break;
85            case "job":
86                current = jobDefaultURL ? jobDefaultURL : MARK;
87                break;
88            default:
89                current = MARK;
90                break;
91        }
92        //返回判断值
93        return current;
94    };
95    //首页选中
96    Obj.firstLiCur = function () {
97        $menu.find("li:first").addClass(_cur);
98    };
99    //不区分大小写的选中
100    Obj.selectedCur = function () {
101        $menuli.each(function () {
102            var _href = $(this).children('a').attr("href").toLowerCase();
103            var _href2 = _href.substring(_href.lastIndexOf("/") + 1);
104            //判断地址是否一样 一样的话添加选中
105            if (_href == current||(_href2 ==currentshort&&currentshort!='index.html') && _href2!='' ) {
106                $(this).addClass(_cur);
107                //这个return false 只是跳出each ,并不跳出此方法
108                return false;
109            } else if (typeof (current) == "number") {
110                $menuli.eq(current).addClass(_cur);
111                //这个return false 只是跳出each ,并不跳出此方法
112                return false;
113            }
114        });
115    };
116    //文字形式导航的选择.jQuery的contains默认会把所有的匹配到文字的链接加上样式  所以还得循环判断
117    Obj.selectedTxtCur = function () {
118        $menuli.children("a").each(function () {
119            var _txt = $.trim($(this).text());
120            //一般面包屑导航的最后一个都是首页[或者说"项目名称"加首页],然后在选择的时候如果主导航只有个首页的话,就会先把主导航选中,所以这里判断一下
121            if (_txt == txt && txt.indexOf("首页") == -1) {
122                $(this).parent("li").addClass(_cur);
123                //这个return false 只是跳出each ,并不跳出此方法
124                return false;
125            }
126        });
127        //返回jQuery对象
128        return $menu.find("ul").eq(0).children("li." + _cur);
129    };
130    //判断是否有主导航选中
131    Obj.hasCur = function () {
132        var _hascur = $menu.find("ul").eq(0).children("li." + _cur).size();
133        return _hascur;
134    };
135
136    //判断MARK,如果不存在 直接首页选中并返回程序
137    if (typeof (MARK) == 'undefined') {
138        Obj.firstLiCur();
139        return false;
140    }
141
142    //判断面包屑导航是否存在
143    if (!count) {
144        //如果不存在直接判断MARK 和栏目 的默认选中链接
145        current = Obj.getCurrentURL();
146        //获取添加
147        Obj.selectedCur();
148    }
149    //循环面包屑导航 倒序
150    for (var i = count - 1; i >= 0; i--) {
151        //取链接地址
152        current = $info.eq(i).attr("href");
153        //取文本
154        var txt = $.trim($info.eq(i).text());
155        //截取"/"后面的链接
156        currentshort = current.substring(current.lastIndexOf("/") + 1).toLowerCase();
157        //如果截取到是空的话,一般就是最后一次循环还没有匹配到主导航的样式
158        if (current == "" || current == undefined) {
159            //判断MARK
160            current = Obj.getCurrentURL();
161        }
162        //主导航的匹配文字 [一般情况下是没有用的,有时候会碰到说æ
162˜¯è¿™ä¸ªæ–‡å­—,但是链接确是另外一个,但是导航选中还是要加在文字上面]
163        //比如 二级分类是成功案例,但是它下面还有一个三级分类是经典案例,主导航上的是二级分类确标着三级分类的链接,这个文字就有用了
164        //况且这里还要先判断文字再判断链接
165        var $t = Obj.selectedTxtCur();
166        //var $t = $("div.menu a:contains('" + txt + "')");
167        //最后一次循环txt是首页,往往主导航的第一个都是**首页,所以要判断一下
168        //判断文字
169        if ($t.size() && txt.indexOf("首页") == -1) {
170            $t.parent("li").addClass(_cur);
171            return false;
172        } else {//判断链接
173            Obj.selectedCur();
174            //如果选中导航,则跳出循环
175            if (Obj.hasCur()) { return false; }
176        }
177    }
178    //如果都没有主导航选中,给MARK加链接 各栏目首页 主要是产品首页没有面包屑导航,没有办法判断
179    if (!Obj.hasCur()) {
180        current = MARK;
181        Obj.selectedCur();
182        //如果还没有主导航选中,给第一个加样式
183        if (!Obj.hasCur()) {
184            Obj.firstLiCur();
185        }
186    } else {
187    }
188});
189(function(){
190    leftNavFocus.init();
191})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.