jQuery 国家语言(Language)选择切换的示例。

来源:互联网 发布:恶意软件博物馆 编辑:程序博客网 时间:2024/06/11 13:22

现在网站不仅是做的国内的,更多的大企业或者是做外贸电子商务的网站都需要面向国际化,因此就涉及到语言的选择,多语言网站建的切换应该怎么设计呢?这里给你一款jQuery 国家语言(Language)选择切换的示例。

<!doctype html>   <html> <head>  <meta charset="utf-8">  <title>jQuery Language Switcher</title>  <link rel="stylesheet" href="languageswitcher.css"> </head> <body> <header> <h1>jQuery 语言切换选择</h1> <div id="country-select">   <form action="server-side-script.php">     <select id="country-options" name="country-options">       <option selected="selected" title="http://www.yoursite.com" value="us">United States</option>       <option title="http://www.yoursite.co.uk" value="uk">United Kingdom</option>       <option title="http://www.yoursite.fr" value="fr">France</option>       <option title="http://www.yoursite.de" value="de">Germany</option>       <option title="http://www.yoursite.nl" value="nl">Netherlands</option>     </select>     <input value="Select" type="submit" />   </form> </div> </header> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script src="languageswitcher.js"></script>   </body> </html>

实现的效果如图所示:

语言切换选择

为了实现上面的效果除了上面的HTML外,还需要js和css。

languageswitcher.css文件CSS代码

* { margin0padding0; }body {background#ccc;}header {display: block;background#777;height50px;position: relative;min-width600px;}header h1 {font: bold 24px Arial, Helvetica, sans-serif;color#fff;position: absolute;left20px;top8px;}#country-select {position: absolute;top13px;right0;width180px;}/* rought form styles for when JS is disabled */#country-select form {width180px;padding0;}#country-select select,#country-select input {display: inline;padding0;margin0;}/* JS-created definition list */.dropdown dd { position: relative; }.dropdown a {text-decoration: none;outline0;font12px Arial, Helvetica, sans-serif;display: block;width130px;overflow: hidden;}.dropdown dt a {background#c45618;border1px solid #964315;padding3px 10px 4px 10px;-webkit-border-radius5px;-moz-border-radius5px;border-radius5px;color#fff;}.dropdown dt a.active {background#db5e18;-webkit-border-bottom-left-radius0;-webkit-border-bottom-right-radius0;-moz-border-radius-bottomleft0;-moz-border-radius-bottomright0;border-bottom-left-radius0;border-bottom-right-radius0;border-bottom1px dotted #676768;-moz-box-shadow0 3px 7px rgba(0,0,0,.5);-webkit-box-shadow0 3px 7px rgba(0,0,0,.5);box-shadow0 3px 7px rgba(0,0,0,.5);color#fff;}.dropdown dd ul {background#814f33;border1px solid #676768;color#C5C0B0;display: none;position: absolute;z-index999;top0;left0;padding2px 0 5px 0;list-style: none;border-top: none;margin0;-webkit-border-bottom-right-radius5px;-webkit-border-bottom-left-radius5px;-moz-border-radius-bottomright5px;-moz-border-radius-bottomleft5px;border-bottom-right-radius5px;border-bottom-left-radius5px;-moz-box-shadow0 3px 7px rgba(0,0,0,.5);-webkit-box-shadow0 3px 7px rgba(0,0,0,.5);box-shadow0 3px 7px rgba(0,0,0,.5);}.dropdown dd ul li a {padding2px 10px;}.dropdown dd ul li a span,.dropdown dt a span {float: left;width16px;height11px;margin2px 6px 0 0;background-imageurl(flags.png);background-repeat: no-repeat;cursor: pointer;}.us a span { background-position0 0 }.uk a span { background-position: -16px 0 }.fr a span { background-position: -32px 0 }.de a span { background-position: -48px 0 }.nl a span { background-position: -64px 0 }.dropdown dd ul li a em,.dropdown dt a em {font-style: normal;float: left;width100px;cursor: pointer;}.dropdown dd ul li a em {color#dbc3b5;}.dropdown dd ul li a:hover { background-colorrgba(255,255,255,.1); }.dropdown dd ul li a:hover em { color#fff; }

languageswitcher.js文件JS代码

$(document).ready(function({  // --- language dropdown --- //  // turn select into dl createDropDown();  var $dropTrigger = $(".dropdown dt a"); var $languageList = $(".dropdown dd ul");  // open and close list when button is clicked $dropTrigger.toggle(function({ $languageList.slideDown(200); $dropTrigger.addClass("active"); }, function({ $languageList.slideUp(200); $(this).removeAttr("class"); });  // close list when anywhere else on the screen is clicked $(document).bind('click'function(evar $clicked = $(e.target); if (! $clicked.parents().hasClass("dropdown")) $languageList.slideUp(200); $dropTrigger.removeAttr("class"); });  // when a language is clicked, make the selection and then hide the list $(".dropdown dd ul li a").click(function(var clickedValue = $(this).parent().attr("class"); var clickedTitle = $(this).find("em").html(); $("#target dt").removeClass().addClass(clickedValue); $("#target dt em").html(clickedTitle); $languageList.hide(); $dropTrigger.removeAttr("class"); }); });  // actual function to transform select to definition list function createDropDown()var $form = $("div#country-select form"); $form.hide(); var source = $("#country-options"); source.removeAttr("autocomplete"); var selected = source.find("option:selected"); var options = $("option", source); $("#country-select").append('<dl id="target" class="dropdown"></dl>') $("#target").append('<dt class="' + selected.val() + '"><a href="#"><span class="flag"></span><em>' + selected.text() + '</em></a></dt>') $("#target").append('<dd><ul></ul></dd>') options.each(function(){ $("#target dd ul").append('<li class="' + $(this).val() + '"><a href="' + $(this).attr("title") + '"><span class="flag"></span><em>' + $(this).text() + '</em></a></li>'); }); }

css 需要的图片资源

国旗图标

这里的css只是参考,可以根据自己的选择设计来。以上是关于jQuery的语言(Language)选择的实现方法。这里给出完整的下载包,点此下载 jQuery的语言(Language)选择包示例

阅读全文
0 0
原创粉丝点击