網(wǎng)站在建設(shè)設(shè)計過程中,經(jīng)常會需要通過CSS樣式定義、JS特效實現(xiàn)來做一些比如像:焦點圖滾動、返回頂部、選項卡、懸浮菜單等炫酷的表現(xiàn)形式。
下面金方時代總結(jié)出來一些網(wǎng)頁設(shè)計過程中常用的javascript腳本語言,以備各位建站者和企業(yè)主能夠有不時之用!
一、回頂部JavaScript腳本:
$("a[href='#top']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
復制以上代碼放在網(wǎng)頁的JavaScript標簽中,然后在底部添加一個id為“top”的鏈接就會自動返回到頂部了。
二、復制表單頂部標題到底部:
var $tfoot = $('<tfoot></tfoot>');
$($('thead').clone(true, true).children().get().reverse()).each(function(){
$tfoot.append($(this));
});
$tfoot.insertAfter('table thead');
三、載入額外的內(nèi)容:
$("#content").load("somefile.html", function(response, status, xhr) {
// error handling
if(status == "error") {
$("#content").html("An error occured: " + xhr.status + " " + xhr.statusText);
}
});
有時候需要為單獨的一個div層從外部載入一些額外的數(shù)據(jù)內(nèi)容,下面這段短碼將會非常有用。
四、設(shè)置多列層等高:
var maxheight = 0;
$("div.col").each(function(){
if($(this).height() > maxheight) { maxheight = $(this).height(); }
});
$("div.col").height(maxheight);
在一些布局設(shè)計中,有時候需要讓兩個div層高度相當,下面是采用js方法實現(xiàn)的原理(需要等高的div層設(shè)置class為”col”)。
五、定時刷新部分頁面的內(nèi)容:
setInterval(function() {
$("#refresh").load(location.href+" #refresh>*","");
}, 10000); // milliseconds to wait
如果在你的網(wǎng)頁上需要定時的刷新一些內(nèi)容,例如微博消息或者實況轉(zhuǎn)播,為了不讓用戶繁瑣的刷新整個頁面,可以采用下面這段代碼來定時刷新部分頁面內(nèi)容。
六、預載入圖像:
$.preloadImages = function() {
for(var i = 0; i<arguments.length; i++) {
$("<img />").attr("src", arguments[i]);
}
}
$(document).ready(function() {
$.preloadImages("hoverimage1.jpg","hoverimage2.jpg");
});
有些網(wǎng)站頁面打開圖像都未載入完畢,還要苦苦等待。下面這段代碼實現(xiàn)圖像都載入完畢后再打開整個網(wǎng)頁。
七、測試密碼強度:
這個比較給力,現(xiàn)在很多網(wǎng)站注冊的時候都加入了密碼強度測試功能,以下代碼也簡單提供了密碼強度測試功能。
HTML代碼部分:
1、<input type="password" name="pass" id="pass" />
2、<span id="passstrength"></span>
JavaScript腳本代碼:
$('#pass').keyup(function(e) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').html('More Characters');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').className = 'ok';
$('#passstrength').html('Strong!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').className = 'alert';
$('#passstrength').html('Medium!');
} else {
$('#passstrength').className = 'error';
$('#passstrength').html('Weak!');
}
return true;
});
八、自適應縮放圖像:
有時候網(wǎng)站上傳的圖像需要填充整個指定區(qū)域,但是有時候圖像比例并不恰好合適,縮放后效果不好。一下代碼就實現(xiàn)了檢測圖像比例然后做適當?shù)目s放功能。
$(window).bind("load", function() {
// IMAGE RESIZE
$('#product_cat_list img').each(function() {
var maxWidth = 120;
var maxHeight = 120;
var ratio = 0;
var width = $(this).width();
var height = $(this).height();
if(width > maxWidth){
ratio = maxWidth / width;
$(this).css("width", maxWidth);
$(this).css("height", height * ratio);
height = height * ratio;
}
var width = $(this).width();
var height = $(this).height();
if(height > maxHeight){
ratio = maxHeight / height;
$(this).css("height", maxHeight);
$(this).css("width", width * ratio);
width = width * ratio;
}
});
//$("#contentpage img").show();
// IMAGE RESIZE
});
九、自動載入內(nèi)容:
現(xiàn)在很多網(wǎng)站,特別是微博,都不需要翻頁的按鈕了,直接下拉后會自動載入內(nèi)容。下面的腳本就是簡單實現(xiàn)了個這種效果。
var loading = false;
$(window).scroll(function(){
if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
if(loading == false){
loading = true;
$('#loadingbar').css("display","block");
$.get("load.php?start="+$('#loaded_max').val(), function(loaded){
$('body').append(loaded);
$('#loaded_max').val(parseInt($('#loaded_max').val())+50);
$('#loadingbar').css("display","none");
loading = false;
});
}
}
});
$(document).ready(function() {
$('#loaded_max').val(50);
});
相信以上javascript腳本能實現(xiàn)大多數(shù)企業(yè)網(wǎng)站甚至各種功能性網(wǎng)站的基本特效。
關(guān)鍵詞:網(wǎng)頁設(shè)計javascript,建站培訓,網(wǎng)站建站,建站技巧,建站視頻,css層疊樣式表,建站流程,建站,建站程序,在線建站,qq在線客服生成
金方時代——為您提供超高性價比的高端網(wǎng)站建設(shè)服務
原文鏈接:http://insideasean.com/index_show_catid_19_id_520.html