jquery插件实例 |
jquery,插件 |
|
//$(".banner_pic img").resizeImg({ w: 1024, h: 500 })
(function ($) {
$.fn.extend({
resizeImg: function (opt, callback) {
var defaults = { w: 200, h: 150 };
var opts = $.extend(defaults, opt);
this.each(function () {
$(this).load(function () {
var imgWidth = this.width, imgHeight = this.height;
if (imgWidth > opts["w"]) {
this.width = opts["w"];
this.height = imgHeight * (opts["w"] / imgWidth);
imgWidth = opts["w"];
imgHeight = this.height;
}
if (imgHeight > opts["h"]) {
this.height = opts["h"];
this.width = imgWidth * (opts["h"] / imgHeight);
imgHeight = opts["h"];
imgWidth = this.width;
}
//水平居中,垂直居中
$(this).css({ "margin-top": (opts["h"] - imgHeight) / 2,
"margin-left": (opts["w"] - imgWidth) / 2
});
});
});
}
});
})(jQuery);
|
图片效果 |
图片 |
|
<script type="text/javascript">
$(function () {
$("#SmallImg img").click(function () {
$("#imgPhotURL").fadeTo(0, 0); //初始化图片使图片淡入至0!(图片因此消失)为后面淡出做准备.
$("#imgPhotURL").attr("src", $(this).attr("src")); //动态改变大图的sec属性
$("#imgPhotURL").fadeTo(1000, 1); //两个参数1000和1,意思是1000毫秒内(1秒)把图片淡出到100%,当然要到50%把1改成0.5就o了!
})
})
//o了!刚测试了一下!这个正确..样式也帮你写好了~
</script>
|
sql 排序编号 |
sql |
|
set nocount on select identity(int,1,1) 'pid',ID=cast(ID as int),ProductTypeName,Sort into #tmp from yufeizhinengkeji_Product_Type where Sort=0 and State=1 order by p_type asc select * from #tmp drop table #tmp
或
select (select count(1)+1 from yufeizhinengkeji_Product_Type b where b.id<a.id and b.Sort=0 and b.State=1) pid ,a.ID,ProductTypeName,Sort from yufeizhinengkeji_Product_Type a where a.Sort=0 and a.State=1
|
多条件订单查询 |
jquery, 订单 |
|
//
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="postquery.aspx.cs" Inherits="zhixiangwuliu_3_postquery" %>
<%@ Register Src="head.ascx" TagName="head" TagPrefix="uc1" %>
<%--<%@ Register Src="pro_left.ascx" TagName="pro_left" TagPrefix="uc3" %>--%>
<%@ Register Src="foot.ascx" TagName="foot" TagPrefix="uc4" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>深圳智祥物流有限公司官方网站</title>
<meta name="keywords" content="深圳智祥物流有限公司官方网站" />
<meta name="description" content="深圳智祥物流有限公司官方网站" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<style type="text/css">
.area2 { width: 300px; height: 100px; line-height: 14px; border: 1px solid #D6D6D6; }
</style>
<script type="text/javascript">
$(function () {
if (getUrlPara("waybills") != null && getUrlPara("waybills") != "" && getUrlPara("waybills") != "请输入运单号") {
var str = unescape(getUrlPara("waybills"));
if (str.indexOf("%0D%0A") > -1) {
str = str.replace("%0D%0A", "/n");
}
$("#txtSearch").css({ "color": "#000" }).val(str);
}
if (getUrlPara("tel") != null && getUrlPara("tel") != "" && getUrlPara("tel") != "请输入收货人电话") {
$("#txtSearch2").css({ "color": "#000" }).val(unescape(getUrlPara("tel")));
}
searchTip("#txtSearch", "请输入运单号");
searchTip("#txtSearch2", "请输入收货人电话");
$('input[type="button"][name="btnSearch"]').click(function () {
var text = $("#txtSearch").val();
var text2 = $("#txtSearch2").val();
var str, url;
str = escape(text);
if (str.indexOf("%0A") > -1) {
str = str.replace("%0A", "%0D%0A");
}
if (text != "" && text != null && text != "请输入运单号" && text2 != "" && text2 != null && text2 != "请输入收货人电话") {
url = "postquery.aspx?waybills=" + str + "&tel=" + escape(text2);
}
else {
alert("请输入运单号与收货人电话查询!");
return;
}
window.location.href = url;
return false;
}); //end click
}); //end jquery
var searchTip = function (txt, oldVal) {
if ($(txt).val() == "" || $(txt).val() == oldVal) {
$(txt).css({ "color": "#888" });
}
$(txt).focus(function () {
$(txt).css({ "color": "#000" });
if ($(txt).val() == oldVal) {
$(txt).val("");
}
}).blur(function () {
if ($(txt).val() == "" || $(txt).val() == oldVal) {
$(txt).val(oldVal).css({ "color": "#888" });
}
});
}
var getUrlPara = function (paraName) {
var strUrl = window.location.href;
var intPos = strUrl.indexOf("?");
var strRight = strUrl.substr(intPos + 1);
var arrTmp = strRight.split("&");
for (var i = 0; i < arrTmp.length; i++) {
var arrTemp = arrTmp[i].split("=");
if (arrTemp[0].toUpperCase() == paraName.toUpperCase()) return arrTemp[1];
}
return "";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<uc1:head id="head1" runat="server" />
<div class="zhuti">
<div class="ny_left">
<div class="ny_fudh">
<div class="ny_fdh_top">
运单查询</div>
<ul>
<li><a href="about.aspx">公司简介</a></li>
<li><a href="contact.aspx">联系我们</a></li>
</ul>
</div>
<div class="ny_fudh" style="margin-top: 10px;">
<div class="ny_fdh_top">
联系我们</div>
<div class="ny_lianxi">
电话:0755-32910555
<br />
传真:0755-33800315
<br />
邮箱:zhengqingxiong@188.com
<br />
地址:宝安区福永怀德立新南路 永德工业中心首层
</div>
</div>
</div>
<div class="ny_right">
<div class="ny_right_top">
<div class="ny_right_top_bt">
运单查询</div>
<div class="ny_right_wz">
当前位置:<a href="index.aspx">首页</a> > 运单查询</div>
</div>
<div class="ny_box">
<h3 style="text-align: center;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="31%" height="50" align="right" valign="top" style="color: #52356d; font-size: 14px;
font-weight: bold; font-family: '微软雅黑', '宋体';">
输入运单号查询:
</td>
<td width="37%" align="center" valign="middle">
<label for="textfield">
</label>
<%--<input type="text" runat="server" name="txtSearch" id="txtSearch" class="dingdank"
value="请输入运单号" />--%>
<textarea name="txtSearch" id="txtSearch" rows="2" cols="20" title="多单查询请换行输入" class="area2">请输入运单号</textarea>
</td>
<td width="32%" align="left" valign="top">
<input type="button" name="btnSearch" value=" " class="dingd_btn" />
</td>
</tr>
<tr>
<td width="31%" height="50" align="right" valign="middle" style="color: #52356d;
font-size: 14px; font-weight: bold; font-family: '微软雅黑', '宋体';">
收货人电话:
</td>
<td width="37%" align="center" valign="middle">
<label for="textfield">
</label>
<input type="text" runat="server" name="txtSearch2" id="txtSearch2" class="dingdank"
value="请输入收货人电话" />
</td>
<td width="32%" align="left" valign="middle">
</td>
</tr>
</table>
<% =postList %>
<%--<table width="100%" border="1" bordercolor="#CCCCCC" cellspacing="0" cellpadding="0">
<tr>
<td height="30" colspan="3" align="center" valign="middle">
运单号:(<span style="color: #F00;"><% =Code %></span>)的记录如下
</td>
</tr>
<tr>
<td width="21%" height="30" align="center" valign="middle">
运单号
</td>
<td width="25%" align="center" valign="middle">
时间
</td>
<td width="54%" align="center" valign="middle">
跟踪记录
</td>
</tr>
<tr>
<td align="center" valign="middle">
<%# PublicFunctions.PFunctions.UnHtml(Eval("NewsTypeName").ToString()) %>
</td>
<td align="center" valign="middle">
<%# PublicFunctions.PFunctions.UnHtml(Eval("CreateTime").ToString()) %>
</td>
<td height="30" align="left" valign="middle" style="padding-left: 8px; padding-top: 5px;
padding-bottom: 5px;">
<%# PublicFunctions.PFunctions.UnHtml(Eval("Contents").ToString())%>
</td>
</tr>
</table>--%>
<br />
</h3>
</div>
</div>
</div>
<uc4:foot id="foot1" runat="server" />
</form>
</body>
</html>
//postquery.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using PublicFunctions;
public partial class zhixiangwuliu_3_postquery : System.Web.UI.Page
{
public SqlProcedure SQLProcedure = new SqlProcedure();
public SqlResult result = new SqlResult();
protected string Code { get; set; }
protected string postList { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!IsPostBack)
{
/*
if (Session["uname"] == null)
{
Response.Write("<script type=\"text/javascript\">alert(\"您还未登录!请先登陆!\");window.location.href=\"login.aspx\"</script>");
return;
}
*/
bd_rpt_News();
}
}
protected void bd_rpt_News()
{
string sqlstr = "";
if (Request.QueryString["waybills"] != null && Request.QueryString["waybills"] != "" && Request.QueryString["tel"] != null && Request.QueryString["tel"] != "")
{
/*
sqlstr = "select t1.*,t2.NewsTypeName from zhixiangwuliu_Post t1,zhixiangwuliu_PostType t2 where t1.NewsTypeId =t2.ID and NewsTypeName ='" + Request.QueryString["productname"].ToString() + "'";
if (Request.QueryString["tel"] != null && Request.QueryString["tel"] != "")
{
sqlstr += " and t2.Telephone='" + Request.QueryString["tel"].ToString() + "'";
}
sqlstr += " and t1.State=1 order by t1.CreateTime desc, t1.ID desc";
*/
string str, tel;
string[] arr;
str = Server.UrlEncode(Request.QueryString["waybills"]).ToUpper();
tel = Server.UrlDecode(Request.QueryString["tel"]);
arr = str.Split(new String[] { @"%0D%0A" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string nstr in arr)
{
postList += "<table width=\"100%\" border=\"1\" bordercolor=\"#CCCCCC\" cellspacing=\"0\" cellpadding=\"0\">"
+ "\n<tr>\n<td height=\"30\" colspan=\"3\" align=\"center\" valign=\"middle\">"
+ "\n运单号(<span style=\"color: #F00;\">" + Server.UrlDecode(nstr) + "</span>)的记录如下:\n</td>\n</tr>"
+ "\n<tr>\n<td width=\"21%\" height=\"30\" align=\"center\" valign=\"middle\">运单号</td>"
+ "\n<td width=\"25%\" align=\"center\" valign=\"middle\">时间</td>"
+ "\n<td width=\"54%\" align=\"center\" valign=\"middle\">跟踪记录</td>\n</tr>";
sqlstr = string.Format("select t1.*,t2.NewsTypeName from zhixiangwuliu_Post t1,zhixiangwuliu_PostType t2"
+ " where t1.NewsTypeId =t2.ID and NewsTypeName in {0} and t2.Telephone='{1}' and t1.State=1 order by t2.NewsTypeName,t1.CreateTime desc, t1.ID desc",
"('" + nstr + "')", tel);
result = PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in result.dataSet.Tables[0].Rows)
{
postList += "\n<tr>\n<td align=\"center\" valign=\"middle\">"
+ "\n" + PFunctions.UnHtml(dr["NewsTypeName"].ToString()) + "\n</td>"
+ "\n<td align=\"center\" valign=\"middle\">"
+ "\n" + PFunctions.UnHtml(dr["CreateTime"].ToString()) + "\n</td>"
+ "\n<td height=\"30\" align=\"left\" valign=\"middle\" style=\"padding-left: 8px; padding-top: 5px;padding-bottom: 5px;\">\n"
+ PFunctions.UnHtml(dr["Contents"].ToString()) + "\n</td>\n</tr>";
}
}
else
{
postList += "\n<tr>\n<td align=\"center\" valign=\"middle\">"
+ "\n" + Server.UrlDecode(nstr) + "\n</td>"
+ "\n<td colspan=\"2\" height=\"30\" align=\"center\" valign=\"middle\">很抱歉,未找到查询结果!\n</td>\n</tr>";
}
postList += "\n</table><br />";
} //end foreach
}
}
}
|
jquery二级导航菜单 |
导航 |
|
head.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="head.ascx.cs" Inherits="head" %>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script src="js/portal_flash.js" type="text/javascript"></script>
<style type="text/css">
.menu { width: 1000px; height: 32px; background: url(../images/menu_bg1_06.jpg) no-repeat; }
.menu ul { }
.menu ul li { background: url(../images/bianxian_07.jpg) no-repeat right; width: 110px; height: 32px; text-align: center; float: left; }
.menu ul li a { line-height: 32px; font-family: "微软雅黑" , "宋体"; color: #FFFFFF; font-size: 14px; font-weight: bold; display: block; }
.menu ul li a:hover { color: #fc0; }
.menu ul li ul { z-index: 100; position: absolute; filter: alpha(opacity=60) !important; list-style-type: none; margin: 0px; padding: 0px; width: 1000px !important; background: #000; border-bottom-width: 0px; height: 32px; display: none; overflow: hidden; -moz-opacity: 0.6; opacity: 0.6; -khtml-opacity: 0.6; }
.menu ul li.current ul { display: block; }
.menu ul li:hover ul { display: block; }
.menu ul li ul li { line-height: 32px; width: auto; _width: auto; display: block; background: none transparent scroll repeat 0% 0%; float: left; height: 32px; color: #fff; font-weight: normal; text-decoration: none; }
.menu ul li ul li a { padding: 0px 20px 0px 30px; line-height: 32px; width: auto; display: inline-block; height: 32px; color: #fff; font-family: "微软雅黑" , "宋体"; font-size: 14px; font-weight: normal; text-decoration: none; }
.menu ul li ul li a:hover { color: #fc0; text-decoration: none; }
.menu_dy { width: 1000px; height: 16px; background: url(../images/menu_bgx_03.jpg) no-repeat; }
</style>
<script type="text/javascript">
$(function () {
$(".menu ul li:last").css("background", "none");
var itop = $(".menu").position().top - $(".menu").height();
var ileft = $(".menu").position().left;
$(".menu>ul>li ul").css({ "top": itop, "left": ileft });
$(".menu>ul>li").bind({
mouseover: function () {
$(this).attr("class", "current");
},
mouseout: function () {
$(this).removeAttr("class");
}
});
$("#favorites").click(function () {
var ctrl = (navigator.userAgent.toLowerCase()).indexOf("mac") != -1 ? "Command/Cmd" : "CTRL";
if (document.all) {
window.external.addFavorite("http://example.com", "深圳市光贝电子有限公司");
}
else if (window.sidebar) {
window.sidebar.addPanel("深圳市光贝电子有限公司", "http://example.com", "");
}
else {
alert("您可以通过快捷键" + ctrl + " + D 加入到收藏夹");
}
});
//设置主页
$("#addHomePage").click(function () {
if (document.all) { //设置IE
document.body.style.behavior = "url(#default#homepage)";
document.body.setHomePage("http://example.com");
} else { //网上可以找到设置火狐主页的代码,但是点击取消的话会有Bug,因此建议手动设置
alert("设置首页失败,请手动设置!");
}
});
});
</script>
<div class="top">
<div class="logo">
<img src="images/logp_02.jpg" width="496" height="108" alt="深圳市光贝电子有限公司" /></div>
<div class="logo_right">
<img src="images/logo_right_02.jpg" alt="深圳市光贝电子有限公司" width="393" height="108" border="0"
usemap="#Map" />
<map name="Map" id="Map">
<area shape="rect" coords="241,14,307,32" href="javascript:void(0)" id="favorites" />
<area shape="rect" coords="334,14,390,33" href="javascript:void(0)" id="addHomePage" />
</map>
</div>
</div>
<div class="banner">
<input id="hidd_banner" type="hidden" runat="server" value="" />
<input id="hidd_banner2" type="hidden" runat="server" value="" />
<input id="hidd_banner3" type="hidden" runat="server" value="" />
<script type="text/javascript">
var pics = $('input[type="hidden"][name*="hidd_banner"]').val();
var links = $('input[type="hidden"][name*="hidd_banner2"]').val();
var texts = $('input[type="hidden"][name*="hidd_banner3"]').val();
getBcastr(pics, links, texts);
</script>
</div>
<div class="menu">
<ul>
<li><a href="index.aspx">首 页</a></li>
<li><a href="about.aspx">公司简介</a>
<ul>
<asp:Repeater ID="rpt_title" runat="server">
<ItemTemplate>
<li><a href="about.aspx?id=<%# Eval("ID") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("title").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("title").ToString()), 12)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="news_list.aspx">新闻中心</a>
<ul>
<asp:Repeater ID="rpt_NewsTypeName" runat="server">
<ItemTemplate>
<li><a href="news_list.aspx?id=<%# Eval("ID") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("NewsTypeName").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("NewsTypeName").ToString()), 12)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="product_list.aspx">产品展示</a>
<ul>
<asp:Repeater ID="rpt_ProductTypeName" runat="server">
<ItemTemplate>
<li><a href="<%# "product_list.aspx?id="+Eval("ID")+"&sort="+Eval("Sort") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("ProductTypeName").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("ProductTypeName").ToString()),12) %></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="service.aspx">服务支持</a>
<ul>
<asp:Repeater ID="rpt_title2" runat="server">
<ItemTemplate>
<li><a href="service.aspx?id=<%# Eval("ID") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("title").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("title").ToString()), 12)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="job.aspx">招贤纳士</a>
<ul>
<asp:Repeater ID="rpt_TypeName" runat="server">
<ItemTemplate>
<li><a href="<%# "job.aspx?id="+Eval("id") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("typeName").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("typeName").ToString()), 12)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="download_list.aspx">下载中心</a>
<ul>
<asp:Repeater ID="rpt_NewsTypeName2" runat="server">
<ItemTemplate>
<li><a href="download_list.aspx?id=<%# Eval("ID") %>" title="<%# PublicFunctions.PFunctions.UnHtml(Eval("TypeName").ToString()) %>">
<%# PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(Eval("TypeName").ToString()), 12)%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
<li><a href="feedback.aspx">客户反馈</a></li>
<li><a href="contact.aspx">联系我们</a></li>
</ul>
</div>
<div class="menu_dy">
</div>
code:head.ascx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using PublicFunctions;
public partial class head : System.Web.UI.UserControl
{
public SqlProcedure SQLProcedure = new SqlProcedure();
public SqlResult result = new SqlResult();
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!IsPostBack)
{
bd_Control();
bd_rpt_TypeName("guangbeidainzi_about", rpt_title);
bd_rpt_TypeName("guangbeidainzi_NewsType", rpt_NewsTypeName);
bd_rpt_TypeName("guangbeidainzi_service", rpt_title2);
bd_rpt_TypeName("guangbeidainzi_job_Type", rpt_TypeName);
bd_rpt_TypeName("guangbeidainzi_download_Type", rpt_NewsTypeName2);
bd_rpt_ProductTypeName();
}
}
protected void bd_Control()
{
string select_SQL = "select top 9 * from guangbeidainzi_HomePage where p_type='1' and [State]='1' order by Sort";
DataSet ds = PublicFunctions.PFunctions.GetDataSet(this.Page, select_SQL, 0, 0, "guangbeidainzi_HomePage");
string str_temp = string.Empty;
string str_temp2 = string.Empty;
string str_temp3 = string.Empty;
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
str_temp += ds.Tables[0].Rows[i]["ImageURL"].ToString() + "|";
str_temp2 += ds.Tables[0].Rows[i]["LinkURL"].ToString() + "|";
str_temp3 += ds.Tables[0].Rows[i]["Title"].ToString() + "|";
}
str_temp = str_temp.Substring(0, str_temp.Length - 1);
str_temp2 = str_temp2.Substring(0, str_temp2.Length - 1);
str_temp3 = str_temp3.Substring(0, str_temp3.Length - 1);
this.hidd_banner.Value = str_temp;
this.hidd_banner2.Value = str_temp2;
this.hidd_banner3.Value = str_temp3;
}
}
protected void bd_rpt_TypeName(string data,Repeater rpt)
{
string sqlstr = "select * from "+data+" where State=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
}
rpt.DataSource = result.dataSet.Tables[0];
rpt.DataBind();
}
public void bd_rpt_ProductTypeName()
{
string sqlstr = "";
sqlstr = "select * from guangbeidainzi_Product_Type where Sort=0 and [State]=1";
result = PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
}
rpt_ProductTypeName.DataSource = result.dataSet.Tables[0];
rpt_ProductTypeName.DataBind();
}
}
|
49个jQuery代码经典片段 |
jquery |
|
49个jquery代码经典片段,这些代码能够给你的javascript项目提供帮助。其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一些则是真正有用的函数或方法,他们能够帮助你又快又好地把事情完成。如果你发现你任何可以做得更好的地方的话,欢迎把你的版本粘贴在评论中!
1. 如何修改jQuery默认编码(例如默认UTF-8改成改GB2312):$.ajaxSetup({
ajaxSettings:{ contentType:"application/x-www-form-urlencoded;chartset=GB2312"}
});
2. 解决jQuery, prototype共存,$全局变量冲突问题:
<script src="prototype.js"></script>
<script src="http://blogbeta.blueidea.com/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
注意:一定要先引入prototype.js 再引入jquery.js,先后顺序不可错。
3. jQuery 判断元素上是否绑定了事件
//jQuery event封装支持判断元素上是否绑定了事件,此方法只适用于jQuery绑定的事件
var $events = $("#foo").data("events");
if( $events && $events["click"] ){
//your code
}
4. 如何使用jQuery来切换样式表
//找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。
$('link[media='screen'').attr('href', 'alternative.css');
5. 如何限制选择范围(基于优化目的):
//尽可能使用标签名来作为类名的前缀,
//这样jQuery就不需要花费更多的时间来搜索
//你想要的元素。还要记住的一点是,
//针对于你的页面上的元素的操作越具体化,
//就越能降低执行和搜索的时间。
var in_stock = $('#shopping_cart_items input.is_in_stock');
<ul id="shopping_cart_items">
<li><input type="radio" value="Item-X" name="item" class="is_in_stock" /> Item X</li>
<li><input type="radio" value="Item-Y" name="item" class="3-5_days" /> Item Y</li>
<li><input type="radio" value="Item-Z" name="item" class="unknown" /> Item Z</li>
</ul>
6. 如何正确地使用toggleClass:
//切换(toggle)类允许你根据某个类的
//是否存在来添加或是删除该类。
//这种情况下有些开发者使用:
a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');
//toggleClass允许你使用下面的语句来很容易地做到这一点
a.toggleClass('blueButton');
7. 如何设置IE特有的功能:
if ($.browser.msie) {
// Internet Explorer就是个虐待狂
}
8. 如何使用jQuery来代替一个元素:
$('#thatdiv').replaceWith('fnuh');
9. 如何验证某个元素是否为空:
// 方法一
if (! $('#keks').html()) {
//什么都没有找到;
}
// 方法二
if ($('#keks').is(":empty")) {
//什么都没有找到;
}
10. 如何从一个未排序的集合中找出某个元素的索引号
$("ul > li").click(function () {
var index = $(this).prevAll().length; //prevAll([expr]): 查找当前元素之前所有的同辈元素
});
11. 如何把函数绑定到事件上:
//方法一
$('#foo').click(function(event) {
alert('User clicked on "foo."');
});
//方法二, 支持动态传参
$('#foo').bind('click', {test1:"abc", test2:"123"}, function(event) {
alert('User clicked on "foo."' + event.data.test1 + event.data.test2 );
});
12. 如何追加或是添加html到元素中:
$('#lal').append('sometext');
13. 在创建元素时,如何使用对象字面量(literal)来定义属性
var e = $("", { href: "#", class: "a-class another-class", title: "..." });
14. 如何使用多个属性来进行过滤
//在使用许多相类似的有着不同类型的input元素时,
//这种基于精确度的方法很有用
var elements = $('#someid input[type=sometype][value=somevalue]').get();
15. 如何使用jQuery来预加载图像:
jQuery.preloadImages = function() {
for(var i = 0; i < arguments.length; i++) {
$("<img />").attr('src', arguments);
}
};
//用法
$.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');
16. 如何为任何与选择器相匹配的元素设置事件处理程序:
$('button.someClass').live('click', someFunction);
//注意,在jQuery 1.4.2中,delegate和undelegate选项
//被引入代替live,因为它们提供了更好的上下文支持
//例如,就table来说,以前你会用
$("table").each(function(){
$("td", this).live("hover", function(){
$(this).toggleClass("hover");
});
});
//现在用
$("table").delegate("td", "hover", function(){
$(this).toggleClass("hover");
});
17. 如何找到一个已经被选中的option元素:
$('#someElement').find('option:selected');
18. 如何隐藏一个包含了某个值文本的元素:
$("p.value:contains('thetextvalue')").hide();
19. 如何创建嵌套的过滤器:
//允许你减少集合中的匹配元素的过滤器,
//只剩下那些与给定的选择器匹配的部分。在这种情况下,
//查询删除了任何没(:not)有(:has)
//包含class为“selected”(.selected)的子节点。
.filter(":not(:has(.selected))")
20. 如何检测各种浏览器:
检测Safari (if( $.browser.safari)),
检测IE6及之后版本 (if ($.browser.msie && $.browser.version > 6 )),
检测IE6及之前版本 (if ($.browser.msie && $.browser.version <= 6 )),
检测FireFox 2及之后版本 (if ($.browser.mozilla && $.browser.version >= '1.8' ))
21. 任何使用has()来检查某个元素是否包含某个类或是元素:
//jQuery 1.4.*包含了对这一has方法的支持。
//该方法找出某个元素是否包含了其他另一个元素类或是其他任何的你正在查找并要在其之上进行操作的东东。
$("input").has(".email").addClass("email_icon");
22. 如何禁用右键单击上下文菜单:
$(document).bind('contextmenu',function(e){
return false;
});
23. 如何定义一个定制的选择器
$.expr[':'].mycustomselector = function(element, index, meta, stack){
// element- 一个DOM元素
// index – 栈中的当前循环索引
// meta – 有关选择器的元数据
// stack – 要循环的所有元素的栈
// 如果包含了当前元素就返回true
// 如果不包含当前元素就返回false };
// 定制选择器的用法:
$('.someClasses:test').doSomething();
24. 如何检查某个元素是否存在
if ($('#someDiv').length) {
//万岁!!!它存在……
}
25. 如何使用jQuery来检测右键和左键的鼠标单击两种情况:
$("#someelement").live('click', function(e) {
if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) {
alert("Left Mouse Button Clicked");
} else if(e.button == 2) {
alert("Right Mouse Button Clicked");
}
});
26. 如何替换串中的词
var el = $('#id');
el.html(el.html().replace(/word/ig, ''));
27. 如何在一段时间之后自动隐藏或关闭元素(支持1.4版本):
//这是1.3.2中我们使用setTimeout来实现的方式
setTimeout(function() {
$('.mydiv').hide('blind', {}, 500)
}, 5000);
//而这是在1.4中可以使用delay()这一功能来实现的方式(这很像是休眠)
$(".mydiv").delay(5000).hide('blind', {}, 500);
28. 如何把已创建的元素动态地添加到DOM中:
var newDiv = $('<div></div>');
newDiv.attr('id','myNewDiv').appendTo('body');
29. 如何限制“Text-Area”域中的字符的个数:
jQuery.fn.maxLength = function(max){
return this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type? this.type.toLowerCase() : null;
if(type == "input" && inputType == "text" || inputType == "password"){
//Apply the standard maxLength
this.maxLength = max;
} else if(type == "textarea"){
this.onkeypress = function(e){
var ob = e || event;
var keyCode = ob.keyCode;
var hasSelection = document.selection? document.selection.createRange().text.length > 0 :this.selectionStart != this.selectionEnd;
return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) &&!ob.ctrlKey && !ob.altKey && !hasSelection);
};
this.onkeyup = function(){
if(this.value.length > max){
this.value = this.value.substring(0,max);
}
};
}
});
};
//用法
$('#mytextarea').maxLength(500);
30. 如何jQuery注册和禁用jQuery全局事件
//jQuery注册ajax全局事件ajaxStart,ajaxStop:
$(document).ajaxStart(function(){
$("#background,#progressBar").show();
}).ajaxStop(function(){
$("#background,#progressBar").hide();
});
//ajax请求禁用全局事件:$.ajax() 有个参数global (默认: true) 是否触发全局 AJAX 事件.设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。
31. 如何在jQuery中克隆一个元素:
var cloned = $('#somediv').clone();
32. 在jQuery中如何测试某个元素是否可见
if($(element).is(':visible')) {
//该元素是可见的
}
33. 如何把一个元素放在屏幕的中心位置:
jQuery.fn.center = function () {
return this.each(function(){
$(this).css({
position:'absolute',
top, ( $(window).height() - this.height() ) / 2 + $(window).scrollTop() + 'px',
left, ( $(window).width() - this.width() ) / 2 + $(window).scrollLeft() + 'px'
});
});
}
//这样来使用上面的函数:
$(element).center();
34. 如何把有着某个特定名称的所有元素的值都放到一个数组中:
var arrInputValues = new Array();
$("input[name='xxx']").each(function(){
arrInputValues.push($(this).val());
});
35. 如何从元素中除去HTML
(function($) {
$.fn.stripHtml = function() {
var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
this.each(function() {
$(this).html( $(this).html().replace(regexp,'') );
});
return $(this);
}
})(jQuery);
//用法:
$('p').stripHtml();
36. 如何使用closest来取得父元素:
$('#searchBox').closest('div');
37. 如何使用Firebug和Firefox来记录jQuery事件日志:
// 允许链式日志记录
jQuery.log = jQuery.fn.log = function (msg) {
if (console){
console.log("%s: %o", msg, this);
}
return this;
};
// 用法:
$('#someDiv').hide().log('div hidden').addClass('someClass');
38. 如何强制在弹出窗口中打开链接:
$('a.popup').live('click', function(){
var newwindow = window.open($(this).attr('href'),'','height=200,width=150');
if (window.focus) {
newwindow.focus();
}
return false;
});
39. 如何强制在新的选项卡中打开链接:
$('a.newTab').live('click', function(){
var newwindow=window.open(this.href);
$(this).target = "_blank";
return false;
});
40. 在jQuery中如何使用.siblings()来选择同辈元素
// 不这样做
$('#nav li').click(function(){
$('#nav li').removeClass('active');
$(this).addClass('active');
});
//替代做法是
$('#nav li').click(function(){
$(this).addClass('active').siblings().removeClass('active');
});
41. 如何切换页面上的所有复选框:
var tog = false;
// 或者为true,如果它们在加载时为被选中状态的话
$('a').click(function() {
$("input[type=checkbox]").attr("checked",!tog);
tog = !tog;
});
42. 如何基于一些输入文本来过滤一个元素列表:
//如果元素的值和输入的文本相匹配的话,该元素将被返回
$('.someClass').filter(function() {
return $(this).attr('value') == $('input#someId').val();
})
43. 如何获得鼠标垫光标位置x和y
$(document).ready(function() {
$(document).mousemove(function(e){
$(’#XY’).html(”X Axis : ” + e.pageX + ” | Y Axis ” + e.pageY);
});
});
44. 如何扩展String对象的方法
$.extend(String.prototype, {
isPositiveInteger:function(){
return (new RegExp(/^[1-9]\d*$/).test(this));
},
isInteger:function(){
return (new RegExp(/^\d+$/).test(this));
},
isNumber: function(value, element) {
return (new RegExp(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/).test(this));
},
trim:function(){
return this.replace(/(^\s*)|(\s*$)|\r|\n/g, "");
},
trans:function() {
return this.replace(/</g, '<').replace(/>/g,'>').replace(/"/g, '"');
},
replaceAll:function(os, ns) {
return this.replace(new RegExp(os,"gm"),ns);
},
skipChar:function(ch) {
if (!this || this.length===0) {return '';}
if (this.charAt(0)===ch) {return this.substring(1).skipChar(ch);}
return this;
},
isValidPwd:function() {
return (new RegExp(/^([_]|[a-zA-Z0-9]){6,32}$/).test(this));
},
isValidMail:function(){
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this.trim()));
},
isSpaces:function() {
for(var i=0; i<this.length; i+=1) {
var ch = this.charAt(i);
if (ch!=' '&& ch!="\n" && ch!="\t" && ch!="\r") {return false;}
}
return true;
},
isPhone:function() {
return (new RegExp(/(^([0-9]{3,4}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0-9]{3,4}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/).test(this));
},
isUrl:function(){
return (new RegExp(/^[a-zA-z]+:\/\/([a-zA-Z0-9\-\.]+)([-\w .\/?%&=:]*)$/).test(this));
},
isExternalUrl:function(){
return this.isUrl() && this.indexOf("://"+document.domain) == -1;
}
});
45. 如何规范化写jQuery插件:
(function($){
$.fn.extend({
pluginOne: function(){
return this.each(function(){
// my code
});
},
pluginTwo: function(){
return this.each(function(){
// my code
});
}
});
})(jQuery);
46. 如何检查图像是否已经被完全加载进来
$('#theImage').attr('src', 'image.jpg').load(function() {
alert('This Image Has Been Loaded');
});
47. 如何使用jQuery来为事件指定命名空间:
//事件可以这样绑定命名空间
$('input').bind('blur.validation', function(e){
// ...
});
//data方法也接受命名空间
$('input').data('validation.isValid', true);
48. 如何检查cookie是否启用
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 60);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
if(!cookiesEnabled) {
//没有启用cookie
}
49. 如何让cookie过期:
var date = new Date();
date.setTime(date.getTime() + (x * 60 * 1000));
$.cookie('example', 'foo', { expires: date });
如何使用一个可点击的链接来替换页面中任何的URL
$.fn.replaceUrl = function() {
var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
return this.each(function() {
$(this).html(
$(this).html().replace(regexp,'<a href="$1">$1</a>')
);
});
}
//用法
$('p').replaceUrl();
|
Jquery最实用的实例及源码3 |
jquery |
|
js:
$("#txtSearch,#txtSearch2").each(function () {
var oldVal = $(this).val(); //默认的提示性文本
$(this).css({ "color": "#888" });
$(this).focus(function () {
$(this).css({ "color": "#000" });
if ($(this).val() == oldVal) {
$(this).val("");
}
}).blur(function () {
if ($(this).val() == "" || $(this).val() == oldVal) {
$(this).val(oldVal).css({ "color": "#888" });
}
});
});
$("#changeShow").click(function (e) {
var $tr = $(".ny_box>h3 tr:eq(1)");
if ($tr.css("display") == "none") {
e.stopPropagation();
//设置弹出层位置
var offset = $(e.target).offset();
//设置弹出层位置在点击的下面
$tr.css({ top: offset.top + $(e.target).height() + "px", left: offset.left });
$tr.show();
if ($(this).html().indexOf("打开") > -1) {
$(this).html($(this).html().replace("打开", "关闭"));
}
}
else {
$tr.hide();
$("#txtSearch2").css({ "color": "#888" }).val("请输入收货人电话");
if ($(this).html().indexOf("关闭") > -1) {
$(this).html($(this).html().replace("关闭", "打开"));
}
}
});
<script type="text/javascript">
$(function () {
if (getUrlPara("productname") != null && getUrlPara("productname") != "" && getUrlPara("productname") != "请输入运单号") {
$("#txtSearch").css({ "color": "#000" }).val(unescape(getUrlPara("productname")));
}
if (getUrlPara("tel") != null && getUrlPara("tel") != "" && getUrlPara("tel") != "请输入收货人电话") {
$(".ny_box>h3 tr:eq(1)").show();
if ($("#changeShow").html().indexOf("打开") > -1) {
$("#changeShow").html($("#changeShow").html().replace("打开", "关闭"));
}
$("#txtSearch2").css({ "color": "#000" }).val(unescape(getUrlPara("tel")));
}
searchTip("#txtSearch", "请输入运单号");
searchTip("#txtSearch2", "请输入收货人电话");
$("#changeShow").click(function (e) {
var $tr = $(".ny_box>h3 tr:eq(1)");
if ($tr.css("display") == "none") {
e.stopPropagation();
//设置弹出层位置
var offset = $(e.target).offset();
//设置弹出层位置在点击的下面
$tr.css({ top: offset.top + $(e.target).height() + "px", left: offset.left });
$tr.show();
if ($(this).html().indexOf("打开") > -1) {
$(this).html($(this).html().replace("打开", "关闭"));
}
}
else {
$tr.hide();
$("#txtSearch2").css({ "color": "#888" }).val("请输入收货人电话");
if ($(this).html().indexOf("关闭") > -1) {
$(this).html($(this).html().replace("关闭", "打开"));
}
}
});
$('input[type="button"][name*="btnSubmit"]').click(function () {
var text = $("#txtSearch").val();
var text2 = $("#txtSearch2").val();
var url;
if (text != "" && text != null && text != "请输入运单号") {
url = "postquery.aspx?productname=" + escape(text);
}
else {
alert("请输入运单号(与收货人电话)查询!");
return;
}
if (text2 != "" && text2 != null && text2 != "请输入收货人电话") {
url += "&tel=" + escape(text2);
}
window.location.href = url;
return false;
}); //end click
}); //end jquery
var searchTip = function (txt, oldVal) {
if ($(txt).val() == "" || $(txt).val() == oldVal) {
$(txt).css({ "color": "#888" });
}
$(txt).focus(function () {
$(txt).css({ "color": "#000" });
if ($(txt).val() == oldVal) {
$(txt).val("");
}
}).blur(function () {
if ($(txt).val() == "" || $(txt).val() == oldVal) {
$(txt).val(oldVal).css({ "color": "#888" });
}
});
}
var getUrlPara = function (paraName) {
var strUrl = window.location.href;
var intPos = strUrl.indexOf("?");
var strRight = strUrl.substr(intPos + 1);
var arrTmp = strRight.split("&");
for (var i = 0; i < arrTmp.length; i++) {
var arrTemp = arrTmp[i].split("=");
if (arrTemp[0].toUpperCase() == paraName.toUpperCase()) return arrTemp[1];
}
return "";
}
</script>
html:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="31%" height="50" align="right" valign="middle" style="color: #52356d;
font-size: 14px; font-weight: bold; font-family: '微软雅黑', '宋体';">
输入运单号查询:
</td>
<td width="37%" align="center" valign="middle">
<label for="textfield">
</label>
<input type="text" runat="server" name="txtSearch" id="txtSearch" class="dingdank"
value="请输入运单号" />
</td>
<td width="32%" align="left" valign="middle">
<input type="button" name="btnSubmit" value=" " class="dingd_btn" />
<a href="javascript:void(0)" id="changeShow">打开收货人电话</a>
</td>
</tr>
<tr style="display: none;">
<td width="31%" height="50" align="right" valign="middle" style="color: #52356d;
font-size: 14px; font-weight: bold; font-family: '微软雅黑', '宋体';">
收货人电话:
</td>
<td width="37%" align="center" valign="middle">
<label for="textfield">
</label>
<input type="text" runat="server" name="txtSearch2" id="txtSearch2" class="dingdank"
value="请输入收货人电话" />
</td>
<td width="32%" align="left" valign="middle">
</td>
</tr>
</table>
|
Jquery最实用的实例及源码2 |
jquery |
|
//给非第一条添加样式
$(".sy_news ul li:not(:first)").css("display", "none");
//重置表单
document.forms[0].reset();
//图片放置显示大图
$(function () {
$("#imgPhotURL, #imgImgURL").mouseover(function (e) {
var s = $("<div id='imgdiv'><img src=" + this.src + " width='240' height='200'><p>" + this.title + "</p></div>");
$("body").append(s);
if (e.pageX < $(window).width() / 2) {
$("#imgdiv").css({ "top": (e.pageY + 20) + "px", "left": (e.pageX + 10) + "px" }).show("fast");
} else {
$("#imgdiv").css({ "top": (e.pageY + 20) + "px", "right": ($(window).width() - e.pageX + 10) + "px" }).show("fast");
}
}).mouseout(function () {
$("#imgdiv").remove();
}).mousemove(function (e) {
if (e.pageX < $(window).width() / 2) {
$("#imgdiv").css({ "top": (e.pageY + 20) + "px", "left": (e.pageX + 10) + "px" });
} else {
$("#imgdiv").css({ "top": (e.pageY + 20) + "px", "right": ($(window).width() - e.pageX + 10) + "px" });
}
});
})
//css:
*
{
margin: 0;
padding: 0;
}
#imgdiv
{
margin: 0 auto;
border: 7px solid #CCCCCC;
padding: 20px;
width: 370px;
background: #FFFFFF;
display: none;
position: absolute; /* 这个对显示鼠标的位置很重要,如果不是绝对位置的话,将显示的地方不一样*/
vertical-align: middle;
text-align: center; /*这个设置div里面文字的居中*/
font-family: Arial, Helvetica, sans-serif;
}
div#imgdiv p
{
/* 这个是找到新创建的那个DIV ,把下面的字体与图片距离远一下*/
padding-top: 20px;
}
#imgdiv img
{
border: 1px solid #CCCCCC;
}
|
产生随机字符串 |
随机字符串 |
|
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
//using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Drawing2D;
public partial class VilidateCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
CreateCheckCodeImage(GenCode(4));
}
/**/
/// <summary>
/// '产生随机字符串 //调用Session["code"]
/// </summary>
/// <param name="num">随机出几个字符</param>
/// <returns>随机出的字符串</returns>
private string GenCode(int num)
{
// string str = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严";
// char[] chastr = str.ToCharArray();
string[] source = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
string code = "";
Random rd = new Random();
int i;
for (i = 0; i < num; i++)
{
code += source[rd.Next(0, source.Length)];
// code += str.Substring(rd.Next(0, str.Length), 1);
}
return code;
}
/**/
/// <summary>
/// 生成图片(增加背景噪音线、前景噪音点)
/// </summary>
/// <param name="checkCode">随机出字符串</param>
private void CreateCheckCodeImage(string checkCode)
{
if (checkCode.Trim() == "" || checkCode == null)
return;
Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)(checkCode.Length * 19), 22);
Graphics g = Graphics.FromImage(image);
try
{
//生成随机生成器
Random random = new Random();
//清空图片背景色
g.Clear(Color.White);
// 画图片的背景噪音线
int i;
for (i = 0; i < 25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);
g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
}
Font font = new System.Drawing.Font("Arial", 14, (System.Drawing.FontStyle.Bold));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true);
g.DrawString(checkCode, font, brush, 4, 1);
//画图片的前景噪音点
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/jpg";
Response.BinaryWrite(ms.ToArray());
}
catch
{
g.Dispose();
image.Dispose();
}
}
}
|
验证码 |
验证 |
|
//
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="feedback.aspx.cs" Inherits="jiataisujiao_3_feedback" %>
<%@ Register Src="head.ascx" TagName="head" TagPrefix="uc1" %>
<%@ Register Src="news_left.ascx" TagName="news_left" TagPrefix="uc3" %>
<%@ Register Src="foot.ascx" TagName="foot" TagPrefix="uc4" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>深圳市嘉泰塑胶有限公司</title>
<meta name="keywords" content="深圳市嘉泰塑胶有限公司,深圳市嘉泰塑胶有限公司,深圳市嘉泰塑胶有限公司,深圳市嘉泰塑胶有限公司">
<meta name="description" content="深圳市嘉泰塑胶有限公司位于公明镇下石家叶氏工业园,环境优雅、地处繁华、交通便捷,紧靠龙大、南光高速出口。本公司是一家集多年开发、生产、销售、加工于一体的专业生产厂家。">
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="js/fix.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<uc1:head ID="head1" runat="server" />
<div class="zhuti">
<uc3:news_left ID="news_left1" runat="server" />
<div class="ny_right">
<div class="ny_right_top">
<div class="ny_right_bt">
客户反馈</div>
<div class="danqianweizhi">
您的当前位置:<a href="index.aspx">首页</a> > 客服反馈</div>
</div>
<div class="ny_right_bot">
<div class="ny_news">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="35" align="right" valign="middle">
客户姓名:
</td>
<td width="82%">
<input id="txtCustomer" name="input2" type="text" class="feedback" runat="server" /><span
style="color: #FF0000">*</span><asp:RequiredFieldValidator ID="rfvCustomer" runat="server"
ErrorMessage="请填写姓名" ControlToValidate="txtCustomer" Display="Dynamic" ForeColor="#FF0000"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td height="35" align="right" valign="middle">
邮箱:
</td>
<td>
<input id="txtEmail" name="input3" type="text" class="feedback" runat="server" /><span
style="color: #FF0000">*</span><asp:RequiredFieldValidator ID="rfvEmail" runat="server"
ErrorMessage="请填写电子邮件地址" ControlToValidate="txtEmail" Display="Dynamic" ForeColor="#FF0000"></asp:RequiredFieldValidator><asp:RegularExpressionValidator
ID="revEmail" runat="server" ControlToValidate="txtEmail" ErrorMessage="请填写正确的电子邮件地址"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ForeColor="#FF0000"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td height="35" align="right" valign="middle">
电话:
</td>
<td>
<input id="txtTelephone" name="input4" type="text" class="feedback" runat="server" /><span
style="color: #FF0000">*</span><asp:RequiredFieldValidator ID="rfvTelephone" runat="server"
ErrorMessage="请填写联系电话" ControlToValidate="txtTelephone" Display="Dynamic" ForeColor="#FF0000"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revTelephone" runat="server" ErrorMessage="请填写正确的电话号码"
ControlToValidate="txtTelephone" ValidationExpression="(\(\d{3}\)|\d{3}-)?\d{8}"
ForeColor="#FF0000"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td height="35" align="right" valign="middle">
手机:
</td>
<td>
<input id="txtHandset" name="input5" type="text" class="feedback" runat="server" />
</td>
</tr>
<tr>
<td height="35" align="right" valign="middle">
Q Q:
</td>
<td>
<input id="txtQQ" name="input" type="text" class="feedback" runat="server" />
</td>
</tr>
<tr>
<td height="130" align="right" valign="middle">
反馈信息:
</td>
<td>
<textarea id="txtContents" name="textarea" cols="45" rows="5" class="fankuixingxi" runat="server"></textarea><span style="color: #FF0000; height: 63px; line-height: 63px">*</span><asp:RequiredFieldValidator
ID="rfvContents" runat="server" ErrorMessage="请填写反馈内容" ControlToValidate="txtContents"
Display="Dynamic" ForeColor="#FF0000"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td height="34" align="right" valign="middle">
验证码:
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="34%" scope="col">
<input id="txtVilidateCode" name="input6" type="text" class="feedback" runat="server" />
</th>
<th width="66%" align="left" scope="col">
<img id="yzimg" src="VilidateCode.aspx?" alt="看不清,换一张" title="看不清,换一张" onclick="this.src=this.src+'?'"
style="width: 60px; height: 25px; display: block; float: left; cursor: pointer;" />
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right" valign="middle" height="50">
</td>
<td>
<input id="btnSubmit" type="submit" name="button" runat="server" value="提 交" class="tijiaobtn"
onserverclick="btnSubmit_Click" />
<input id="txtReset" type="reset" name="button2" value="重 置" class="tijiaobtn" onclick="javascript:document.forms[0].reset()" />
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<uc4:foot ID="foot1" runat="server" />
</form>
</body>
</html>
|
product页面 |
product |
|
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="product.aspx.cs" Inherits="xinzhishangkeji1_3_product" %>
<%@ Register Src="head.ascx" TagName="head" TagPrefix="uc1" %>
<%@ Register Src="pro_left.ascx" TagName="pro_left" TagPrefix="uc2" %>
<%@ Register Src="foot.ascx" TagName="foot" TagPrefix="uc4" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鑫志尚科技</title>
<meta name="keywords" content="鑫志尚科技" />
<meta name="description" content="鑫志尚科技" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/menu.css">
<script src="js/DrawImage.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript" src="js/menu_min.js"></script>
<script src="js/jquery.tabs.js"></script>
<script src="js/jquery.lazyload.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".cpmenu ul li").menu();
});
$(function () {
$("img[original]").lazyload({ placeholder: "images/color3.gif" });
$('.demo1').Tabs();
$('.demo2').Tabs({
event: 'click'
});
$('.demo3').Tabs({
timeout: 300
});
$('.demo4').Tabs({
auto: 3000
});
$('.demo5').Tabs({
event: 'click',
callback: lazyloadForPart
});
//部分区域图片延迟加载
function lazyloadForPart(container) {
container.find('img').each(function () {
var original = $(this).attr("original");
if (original) {
$(this).attr('src', original).removeAttr('original');
}
});
}
$(".addCart").click(function () {
var id = request("id");
$.post("product.aspx", {
pid: id,
action: "add"
}, function (data) {
if (data == "succeed") {
top.location = "cart.aspx";
}
})
});
function request(paras) {
var url = location.href;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paraObj = {}
for (i = 0; j = paraString[i]; i++) {
paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if (typeof (returnValue) == "undefined") {
return "";
}
else {
return returnValue;
}
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<uc1:head ID="head1" runat="server" />
<div class="ny_weizhi">
当前位置:<a href="index.aspx">首页</a> > <a href="product_list.aspx">产品与方案</a> >
<asp:HyperLink ID="hlProductTypeName" runat="server"></asp:HyperLink>
>
<asp:Label ID="lblProductName" runat="server"></asp:Label></div>
<div class="ny_zhiti">
<uc2:pro_left ID="pro_left1" runat="server" />
<div class="ny_right">
<% =imgPhotURL %>
<div class="ny_right_cpjs">
<div class="ny_right_cpjs_1">
<span style="float: right;"><a href="javascript:void(0)" class="addCart">
<img src="images/dfdf-1_03.jpg" width="105" height="25" /></a></span><asp:Label ID="lblProductName2"
runat="server"></asp:Label>---型号:<asp:Label ID="lblProductNumber" runat="server"></asp:Label></div>
<div class="cp_pic">
<% =imgUrl %></div>
<div class="cp_jiesao">
<div class="box demo2">
<ul class="tab_menu">
<li class="current">产品介绍</li>
<li>产品彩页下载</li>
</ul>
<div class="tab_box">
<div class="tab_1">
<div class="chanpojs">
<asp:Literal ID="litDetails" runat="server"></asp:Literal></div>
</div>
<div class="hide">
<div class="chanpojs">
<ul>
<% =DownList %>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="pag">
<a href="product_list.aspx">返回产品页</a><a href="<% =PrevUrl %>">上一个产品</a><a href="<% =NextUrl %>">下一个产品</a></div>
</div>
</div>
<uc4:foot ID="foot1" runat="server" />
</form>
</body>
</html>
///后台页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class xinzhishangkeji1_3_product : System.Web.UI.Page
{
public PublicFunctions.SqlProcedure SQLProcedure = new PublicFunctions.SqlProcedure();
public PublicFunctions.SqlResult result = new PublicFunctions.SqlResult();
protected string imgPhotURL { get; set; }
protected string imgUrl { get; set; }
protected string DownList { get; set; }
protected string PrevUrl { get; set; }
protected string NextUrl { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!IsPostBack)
{
if (Request.QueryString["id"] == null || Request.QueryString["id"] == "")
{
Response.Redirect("product_list.aspx");
}
bd_Control();
PrevUrl = PageChange("<");
NextUrl = PageChange(">");
}
}
protected override void OnPreInit(EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
AddCart();
base.OnPreInit(e);
}
protected void bd_Control()
{
string sqlstr = string.Empty;
sqlstr = "select *,t2.ID typeid,t2.PhotURL img from xinzhishangkeji_Products t1,xinzhishangkeji_Product_Type t2 where t1.ProductTypeId=t2.ID and t1.ID =" + Request.QueryString["id"].ToString() + " and t1.[State]=1 and t2.[State]=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
this.hlProductTypeName.Text = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductTypeName"].ToString());
this.hlProductTypeName.NavigateUrl = "product_list.aspx?id=" + PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["typeid"].ToString());
this.lblProductName.Text = PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductName"].ToString()), 10);
this.lblProductName2.Text = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductName"].ToString());
this.lblProductNumber.Text = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductNumber"].ToString());
imgUrl = "<img src=\"" + PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["PhotURL"].ToString())
+ "\" width=\"400\" height=\"400\" alt=\"深圳鑫志尚电子有限公司\" onload=\"javascript:DrawImage(this, 400, 400)\" onerror=\"ifImgNotExist()\" />";
this.litDetails.Text = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["Details"].ToString());
string imgurl = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["img"].ToString());
if (!string.IsNullOrEmpty(imgurl))
{
imgPhotURL = "<div class=\"ny_banner\"><img src=\"" + imgurl + "\" width=\"717\" height=\"153\" alt=\"深圳鑫志尚电子有限公司\" /></div>";
}
string dUrl = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["diziurl"].ToString());
if (!string.IsNullOrEmpty(dUrl))
{
string[] strs = dUrl.Substring(0, dUrl.Length - 1).Split('|');
string newstr = String.Empty;
for (int i = 0; i < strs.Length; i++)
{
newstr += "<li><span><img src=\"images/pdf.jpg\" width=\"31\" height=\"30\" alt=\"深圳鑫志尚电子有限公司\" /></span>"
+ "<a href=\"" + strs[i] + "\">产品彩页下载" + (i + 1) + "</a></li>";
}
DownList = newstr;
}
else
{
DownList = "暂无下载";
}
}
/*
if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
{
sqlstr = "select * from xinzhishangkeji_Products where ID =" + Request.QueryString["id"].ToString() + " and [State]=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string num = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductCount"].ToString());
string id = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ID"].ToString());
AddShoppingCar(result.dataSet.Tables[0], 20);
}
}*/
}
protected string PageChange(string str)
{
string data = string.Empty;
string sqlstr = "select * from xinzhishangkeji_Products where ID" + str + Request.QueryString["id"].ToString() + " and ProductTypeId=(select ProductTypeId from xinzhishangkeji_Products where ID=" + Request.QueryString["id"].ToString() + " and [State]=1) and [State]=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string id = result.dataSet.Tables[0].Rows[0]["ID"].ToString();
data = "product.aspx?id=" + id;
}
else
{
data = "javascript:void(0)";
}
return data;
}
private void SetCart(string vid)
{
string sqlstr = "select * from xinzhishangkeji_Products where ID =" + vid + " and [State]=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string num = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductCount"].ToString());
string id = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ID"].ToString());
AddShoppingCar(result.dataSet.Tables[0], 20);
}
}
private void AddCart()
{
string send = "false";
string action = Request.Form["action"];
if (action == null) return;
string pid = Request.Form["pid"];
if (pid == null) return;
switch (action)
{
case "add":
SetCart(pid);
send = "succeed";
break;
default:
break;
}
Response.Write(send);
Response.End();
}
#region 添加到购物车AddShoppingCar
/// <summary>
/// 添加到购物车AddShoppingCar
/// </summary>
/// <param name="num">数量 如果存在产品 负数是减少
/// 正数是增加 如果不存在 直接增加</param>
/// <param name="dt">
/// 循环读出来的DATATABLE
/// </param>
/// <param name="id">货物ID</param>
/// <param name="expires">cookies保存的天数</param>
/// <remarks>这里的方法就是把在原有的Cookie基础上判断是否有
/// 这个产品 如果有 在原有数量上增加 没有 就直接增加 如果是负
/// 数 就是减少 如果负数的数量大于等于
/// 原有数量 设置为0 对应后面的读出操作</remarks>
public static void AddShoppingCar(DataTable dt, int expires)
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
HttpCookie cookie;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] == null)
{
cookievalue = cookievalue + "&" + dt.Rows[i]["ID"].ToString() + "=" + dt.Rows[i]["ProductCount"].ToString();
}
else
{
int num1 = int.Parse(HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()]) + int.Parse(dt.Rows[i]["ProductCount"].ToString());
if (num1 > 0)
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] = num1.ToString();
}
else
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] = "0";
}
cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
}
}
cookie = new HttpCookie("Products", cookievalue);
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
cookie.Expires = time1.Add(ts);
}
HttpContext.Current.Response.AppendCookie(cookie);
}
else
{
HttpCookie newcookie = new HttpCookie("Products");
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
newcookie.Expires = time1.Add(ts);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
newcookie.Values[dt.Rows[i]["ID"].ToString()] = dt.Rows[i]["ProductCount"].ToString();
}
HttpContext.Current.Response.AppendCookie(newcookie);
}
}
#endregion
}
|
购物车 |
购物车 |
|
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="cart.aspx.cs" Inherits="xinzhishangkeji1_3_cart" %>
<%@ Register Src="head.ascx" TagName="head" TagPrefix="uc1" %>
<%@ Register Src="pro_left.ascx" TagName="pro_left" TagPrefix="uc2" %>
<%@ Register Src="foot.ascx" TagName="foot" TagPrefix="uc4" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鑫志尚科技</title>
<meta name="keywords" content="鑫志尚科技" />
<meta name="description" content="鑫志尚科技" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/menu.css">
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/menu_min.js"></script>
<script src="js/jconfirmaction.jquery.js" type="text/javascript"></script>
<script src="js/jquery.cookies.2.1.0.js" type="text/javascript"></script>
<style type="text/css">
.cp_list a
{
text-decoration: none;
color: #666666;
font-weight: bold;
}
.cp_list a:hover
{
text-decoration: underline;
color: #666666;
}
</style>
<script type="text/javascript">
$(document).ready(function () {
$(".cpmenu ul li").menu();
});
$(function () {
//删除事件
//$(".change").jConfirmAction({ question: "您确认要删除吗?", yesAnswer: "确认", cancelAnswer: "取消" });
$(".change").click(function () {
if (confirm("您确认要删除吗?")) {
var id = $(this).attr("rel");
$.post("cart.aspx", {
pid: id,
num: id,
action: "update"
}, function (data) {
if (data == "succeed") {
window.location.href = window.location.href;
}
})
}
});
//删除所有
$(".remove").click(function () {
if ($("Products").cookify() != null) {
$.post("cart.aspx", {
pid: "0",
num: "0",
action: "remove"
}, function (data) {
if (data == "succeed") {
window.location.href = window.location.href;
}
})
}
});
//实时更新订单数量
var temp;
$(".dingshu").bind({
keydown: function (e) {
// 注意此处不要用keypress方法,否则不能禁用 Ctrl+C 与 Ctrl+V,具体原因请自行查找keyPress与keyDown区分,十分重要,请细查
if ($.browser.msie) { // 判断浏览器
if (((event.keyCode > 47) && (event.keyCode < 58)) || ((event.keyCode > 95) && (event.keyCode < 106)) || (event.keyCode == 8)) {// 判断键值
return true;
} else {
return false;
}
} else {
if (((e.which > 47) && (e.which < 58)) || ((e.which > 95) && (e.which < 106)) || (e.which == 8) || (event.keyCode == 17)) {
return true;
} else {
return false;
}
}
},
focus: function () {
this.style.imeMode = 'disabled'; // 禁用输入法,禁止输入中文字符
},
focusin: function () {
//取得当前元素的id
//alert(this.id);
//alert("获得焦点时的值是:" + $.trim($(this).val()));
temp = $.trim($(this).val());
},
focusout: function () {
//alert("失去焦点时的值是:" + $.trim($(this).val()));
var lastValue = $.trim($(this).val());
if (!lastValue.match(/^\+?[1-9][0-9]*$/)) { //判断正整数
lastValue = temp;
}
else {
//temp = lastValue;
}
if (temp != lastValue && null != lastValue && "" != lastValue) {
//alert("值改变了!");
var id = $(this).attr("rel");
var number = $.trim($(this).val());
$.post("cart.aspx", {
pid: id,
num: number,
action: "change"
}, function (data) {
if (data == "succeed") {
window.location.href = window.location.href;
}
})
}
else {
//alert("没有变!");
}
}
});
//提交订单
$(".batete").click(function () {
if ($("#txtCustomer").val() == null || $("#txtCustomer").val() == "") { alert("客户姓名不能为空!"); return false; }
if ($("#txtCompanyName").val() == null || $("#txtCompanyName").val() == "") { alert("公司名称不能为空!"); return false; }
if ($("#txtEmail").val() == null || $("#txtEmail").val() == "") { alert("请输入电子邮箱!"); return false; }
if ($("#txtTelephone").val() == null || $("#txtTelephone").val() == "") { alert("请输入联系电话!"); return false; }
if ($("Products").cookify() != null) {
$.post("cart.aspx", {
pid: "0",
num: "0",
action: "submit"
}, function (data) {
switch (data) {
case "":
case "0":
alert("您发送失败!"); return false;
break;
case "1":
alert("您已发送成功!"); return false;
break;
case "2":
alert("您不是我们的发送服务客户,请申请我们的服务,谢谢!"); return false;
break;
case "3":
alert("您提交的反馈内容太多,请减少!"); return false;
break;
}
})
} else {
alert("您的购物车为空,请重新选择!"); top.location = "product_list.aspx"; return false;
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<uc1:head ID="head1" runat="server" />
<div class="ny_weizhi">
当前位置:<a href="index.aspx">首页</a> > 产品与方案</div>
<div class="ny_zhiti">
<uc2:pro_left ID="pro_left1" runat="server" />
<div class="ny_right">
<div class="ny_banner">
<img src="images/cpcpcpc_06.jpg" width="717" height="153" alt="深圳鑫志尚电子有限公司" /></div>
<div class="ny_right_cpjs">
<div class="ny_right_cpjs_1">
购物车</div>
<div class="cp_list">
<table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolor="#e3e3e3">
<tr>
<td width="10%" height="33" align="center" valign="middle">
<strong>编号</strong>
</td>
<td width="21%" align="center" valign="middle">
<strong>产品图片</strong>
</td>
<td width="26%" align="center" valign="middle">
<strong>产品名称</strong>
</td>
<td width="20%" align="center" valign="middle">
<strong>产品型号</strong>
</td>
<td width="12%" align="center" valign="middle">
<strong>询价数量</strong>
</td>
<td width="11%" align="center">
<strong>删除</strong>
</td>
</tr>
<% =TRList %>
<tr valign="middle">
<td colspan="6" width="100%" height="33" align="right" valign="middle">
<asp:Literal ID="litOrderList" runat="server" Visible="false"></asp:Literal>
<a href="javascript:void(0)" class="remove">清空购物车</a>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="33" colspan="4">
<strong>请提交你的详细资料,以便我们联系您:</strong>
</td>
</tr>
<tr>
<td width="8%" height="32" align="right" valign="middle">
姓名:
</td>
<td width="38%">
<input id="txtCustomer" name="input2" type="text" class="kuankkkk" runat="server" /><span
style="color: #FF0000">*</span>
</td>
<td width="10%" align="right" valign="middle">
公司名称:
</td>
<td width="44%">
<input id="txtCompanyName" name="input2" type="text" class="kuankkkk" runat="server" /><span
style="color: #FF0000">*</span>
</td>
</tr>
<tr>
<td height="32" align="right" valign="middle">
邮箱:
</td>
<td>
<input id="txtEmail" name="input3" type="text" class="kuankkkk" runat="server" /><span
style="color: #FF0000">*</span>
</td>
<td align="right" valign="middle">
联系电话:
</td>
<td>
<input id="txtTelephone" name="input4" type="text" class="kuankkkk" runat="server" /><span
style="color: #FF0000">*</span>
</td>
</tr>
<tr>
<td height="50">
</td>
<td colspan="2" align="right">
<a href="product_list.aspx"><<继续查看产品</a>
</td>
<td>
<input type="submit" name="button" value="提 交" class="batete" />
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<uc4:foot ID="foot1" runat="server" />
</form>
</body>
</html>
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using PublicFunctions;
public partial class xinzhishangkeji1_3_cart : System.Web.UI.Page
{
string TserverIP = "mail.safetybossasia.com";//发送邮件的服务器
string TsendEmail = "send@safetybossasia.com";//
string TsendPwd = "zhongguo2011";
string TsendMessage = "";//内容
string TgetEmail = "GASH123_6@hotmail.com";
public SqlProcedure SQLProcedure = new SqlProcedure();
public SqlResult result = new SqlResult();
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!IsPostBack)
{
bd_Control();
bd_TRList();
}
}
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
UpdateCart();
}
protected string TRList { get; set; }
protected string OrderList { get; set; }
private void bd_Control()
{
/*
string sqlstr = string.Empty;
if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
{
sqlstr = "select * from xinzhishangkeji_Products where ID =" + Request.QueryString["id"].ToString() + " and [State]=1";
result = PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string num = PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductCount"].ToString());
string id = PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ID"].ToString());
AddShoppingCar(result.dataSet.Tables[0], 20);
}
}
*/
}
private void bd_TRList()
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
//HttpCookie cookie;
string order = HttpContext.Current.Request.Cookies["Products"].Value;
string[] list = order.Split('&');
string[] li;
int[,] lis = new int[list.Length, 2];
int[,] temp = new int[list.Length, 2];
string ids = string.Empty;
string nums = string.Empty;
for (int i = 0; i < list.Length; i++)
{
li = list[i].Split('=');
lis[i, 0] = Convert.ToInt32(li[0]);
lis[i, 1] = Convert.ToInt32(li[1]);
}
for (int i = 0; i < list.Length - 1; i++)
{
for (int j = 0; j < list.Length - 1 - i; j++)
{
if (lis[j, 0] > lis[j + 1, 0])
{
temp[0, 0] = lis[j, 0];
temp[0, 1] = lis[j, 1];
lis[j, 0] = lis[j + 1, 0];
lis[j, 1] = lis[j + 1, 1];
lis[j + 1, 0] = temp[0, 0];
lis[j + 1, 1] = temp[0, 1];
}
}
}
for (int j = 0; j < list.Length; j++)
{
ids += lis[j, 0] + ",";
nums += lis[j, 1] + ",";
}
ids = ids.Substring(0, ids.Length - 1);
nums = nums.Substring(0, nums.Length - 1);
string sqlstr = "select * from xinzhishangkeji_Products where ID in(" + (string.IsNullOrEmpty(ids) ? "''" : ids) + ") and [State]=1 order by ID asc";
result = PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string id = string.Empty;
string[] num;
string img = string.Empty;
string name = string.Empty;
string number = string.Empty;
num = nums.Split(',');
for (int i = 0; i < result.dataSet.Tables[0].Rows.Count; i++)
{
id = PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["ID"].ToString());
img = PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["PhotURL"].ToString());
name = PFunctions.GetSting(PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["ProductName"].ToString()), 30);
number = PFunctions.GetSting(PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["ProductNumber"].ToString()), 30);
if (Convert.ToInt32(num[i]) > 0)
{
TRList += "<tr valign=\"middle\">" + "<td height=\"117\" align=\"center\">" + id + "</td>"
+ "<td align=\"center\"><span class=\"cp_pic\">"
+ "<img src=\"" + img + "\" width=\"100\" height=\"100\" alt=\"产品\" /></span></td>"
+ "<td align=\"center\">" + name + "</td>" + "<td align=\"center\">" + number + "</td>"
+ "<td align=\"center\"><input type=\"text\" name=\"textding\" class=\"dingshu\" value=\"" + num[i] + "\" rel=\"" + id + "\" /></td>"
+ "<td align=\"center\"><a href=\"javascript:void(0)\" class=\"change\" rel=\"" + id + "\">"
+ "<img src=\"images/shuchu_03.jpg\" width=\"16\" height=\"16\" /></a></td></tr>";
litOrderList.Text += "<tr valign=\"middle\">" + "<td height=\"32\" align=\"center\">" + id + "</td>"
+ "<td align=\"center\">" + name + "</td>" + "<td align=\"center\">" + number + "</td>"
+ "<td align=\"center\">" + num[i] + "</td></tr>";
}
}
}
}
if (HttpContext.Current.Request.Cookies["Products"] == null || string.IsNullOrEmpty(TRList))
{
TRList = "<tr valign=\"middle\"><td colspan=\"6\" width=\"100%\" height=\"33\" align=\"center\" valign=\"middle\">您的订单为空,请<a href=\"product_list.aspx\">返回购买</a></td></tr>";
}
}
#region 添加到购物车AddShoppingCar
/*
/// <summary>
/// 添加到购物车AddShoppingCar
/// </summary>
/// <param name="num">数量 如果存在产品 负数是减少
/// 正数是增加 如果不存在 直接增加</param>
/// <param name="dt">
/// 循环读出来的DATATABLE
/// </param>
/// <param name="id">货物ID</param>
/// <param name="expires">cookies保存的天数</param>
/// <remarks>这里的方法就是把在原有的Cookie基础上判断是否有
/// 这个产品 如果有 在原有数量上增加 没有 就直接增加 如果是负
/// 数 就是减少 如果负数的数量大于等于
/// 原有数量 设置为0 对应后面的读出操作</remarks>
public static void AddShoppingCar(DataTable dt, int expires)
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
HttpCookie cookie;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] == null)
{
cookievalue = cookievalue + "&" + dt.Rows[i]["ID"].ToString() + "=" + dt.Rows[i]["ProductCount"].ToString();
}
else
{
int num1 = int.Parse(HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()]) + int.Parse(dt.Rows[i]["ProductCount"].ToString());
if (num1 > 0)
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] = num1.ToString();
}
else
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString()] = "0";
}
cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
}
}
cookie = new HttpCookie("Products", cookievalue);
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
cookie.Expires = time1.Add(ts);
}
HttpContext.Current.Response.AppendCookie(cookie);
}
else
{
HttpCookie newcookie = new HttpCookie("Products");
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
newcookie.Expires = time1.Add(ts);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
newcookie.Values[dt.Rows[i]["ID"].ToString()] = dt.Rows[i]["ProductCount"].ToString();
}
HttpContext.Current.Response.AppendCookie(newcookie);
}
}
*/
/// <summary>
/// 根据ID删除产品RemoveShoppingCar
/// </summary>
/// <param name="id">产品ID</param>
/// <remarks>
/// 就是设置商品数量为0
/// 本来增加方法可以实现
/// 但是需要读出来原有数量
/// 所以为了避免繁琐 有此方法
/// </remarks>
public static void RemoveShoppingCar(string id)
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values[id] != null)
{
HttpCookie cookie;
HttpContext.Current.Request.Cookies["Products"].Values[id] = "0";
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
cookie = new HttpCookie("Products", cookievalue);
HttpContext.Current.Response.AppendCookie(cookie);
}
}
/// <summary>
/// 删除购物车RemoveShoppingCar
/// </summary>
/// <remarks>
/// 使购物车的Cookie为空
/// </remarks>
public static void RemoveShoppingCar()
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values.Count != 0)
{
HttpContext.Current.Request.Cookies["Products"].Expires = System.DateTime.Now.AddHours(-1);
HttpContext.Current.Response.AppendCookie(HttpContext.Current.Request.Cookies["Products"]);
}
}
/// <summary>
/// 根据ID修改产品UpdateShoppingCar
/// </summary>
/// <param name="id">产品ID</param>
/// <param name="num">产品数量</param>
/// <remarks>
/// 更新产品的数量
/// </remarks>
public static void UpdateShoppingCar(string id, string num)
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values[id] != null)
{
HttpCookie cookie;
HttpContext.Current.Request.Cookies["Products"].Values[id] = num;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
cookie = new HttpCookie("Products", cookievalue);
HttpContext.Current.Response.AppendCookie(cookie);
}
}
private void Submit()
{
string MailTile = "客户询价表"; //发邮件主题
string Toemail = "xxx@xxx.com"; //接收邮箱
string WebSite = "szxt.com"; //发送的网站
System.Text.StringBuilder Emailbody = new System.Text.StringBuilder(); //发送邮件的主要内容
Emailbody.Append("<table width=\"400\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#e3e3e3\">"
+ "<tr><td width=\"10%\" height=\"33\" align=\"center\" valign=\"middle\"><strong>编号</strong></td>"
+ "<td width=\"26%\" align=\"center\" valign=\"middle\"><strong>产品名称</strong></td>"
+ "<td width=\"20%\" align=\"center\" valign=\"middle\"><strong>产品型号</strong></td>"
+ "<td width=\"12%\" align=\"center\" valign=\"middle\"><strong>询价数量</strong></td></tr>"
+ litOrderList.Text + "</table>");
Emailbody.Append("客户姓名:" + txtCustomer.Value + "公司名称:" + txtCompanyName.Value + "<br>邮箱地址:" + txtEmail.Value + "<br>联系电话:" + txtTelephone.Value);
string urlstr = "http://test8.eicp.net:99/sendmail/sendmail.aspx?Emailbody=" + Server.UrlEncode(PFunctions.Html(Emailbody.ToString())) + "&Toemail=" + Server.UrlEncode(PFunctions.Html(Toemail.ToString())) + "&Mailtitle=" + Server.UrlEncode(PFunctions.Html(MailTile.ToString())) + "&WebSite=" + Server.UrlEncode(PFunctions.Html(WebSite.ToString()).Replace("<br><br>", "<br>"));
if (urlstr.Length < 2083)
{
string Returnresult = PFunctions.URLRead2(this, urlstr); //发送邮件,并返回:0表示发送失败,1表示发送成功,2表示发送人的身份不正确
Response.Write(Returnresult);
Response.End();
}
else
{
Response.Write("3");
Response.End();
}
}
#endregion
private void UpdateCart()
{
string send = "false";
string action = Request.Form["action"];
if (action == null) return;
string pid = Request.Form["pid"];
if (pid == null) return;
string num = Request.Form["num"];
if (num == null) return;
switch (action)
{
case "update":
RemoveShoppingCar(pid);
send = "succeed";
break;
case "remove":
RemoveShoppingCar();
send = "succeed";
break;
case "change":
UpdateShoppingCar(pid, num);
send = "succeed";
break;
case "submit":
Submit();
break;
default:
break;
}
Response.Write(send);
Response.End();
}
}
|
Jquery最实用的实例及源码 |
jquery最实用的实例及源码 |
|
Jquery最实用的实例及源码
1:窗口拖动
http://jqueryui.com/resizable/#max-min
2:导航条前后顺序拖动
http://jqueryui.com/sortable/
3:类似百度首页板块顺序拖动
http://jqueryui.com/sortable/#portlets
4:选择日期
http://jqueryui.com/datepicker/#default
5:不带遮罩的弹出框(官网上第3个例子中有带遮罩)
http://jqueryui.com/dialog/#default
6:百分比进度条
http://jqueryui.com/progressbar/#default
7:标签切换
http://jqueryui.com/tabs/#default
8:tip显示
http://jqueryui.com/tooltip/#tracking
9:动态添加css
http://jqueryui.com/addClass/#default
10:表单验证(国内高手开发滴)
http://validform.rjboy.cn/demo/demo_normal_regexp.html
11:用户名的实时验证(valid.php中验证后,返回“y”或“n”即可)
http://validform.rjboy.cn/demo/demo_normal_username.html
12:密码强度实时提示
http://validform.rjboy.cn/demo/demo_usePlugin_strengthNeeded.html
|
.net cookie版购物车 |
.net cookie版购物车 |
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class xinzhishangkeji1_3_cart : System.Web.UI.Page
{
public PublicFunctions.SqlProcedure SQLProcedure = new PublicFunctions.SqlProcedure();
public PublicFunctions.SqlResult result = new PublicFunctions.SqlResult();
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!IsPostBack)
{
bd_Control();
bd_TRList();
}
}
protected string TRList { get; set; }
private void bd_Control()
{
string sqlstr = "select * from xinzhishangkeji_Products where ID =" + Request.QueryString["id"].ToString() + " and [State]=1";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
if (result.dataSet.Tables[0].Rows.Count > 0)
{
string num = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ProductCount"].ToString());
string id = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[0]["ID"].ToString());
//AddShoppingCar(num, id, 20);
AddShoppingCar(result.dataSet.Tables[0], 20);
}
}
private void bd_TRList()
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
//HttpCookie cookie;
string order = HttpContext.Current.Request.Cookies["Products"].Value;
string[] list = order.Split('&');
string[] li;
int[,] lis = new int[list.Length, 2];
int[,] temp = new int[list.Length, 2];
string ids = string.Empty;
string nums = string.Empty;
for (int i = 0; i < list.Length; i++)
{
li = list[i].Split('=');
lis[i, 0] = Convert.ToInt32(li[0]);
lis[i, 1] = Convert.ToInt32(li[1]);
}
for (int i = 0; i < list.Length - 1; i++)
{
for (int j = 0; j < list.Length - 1 - i; j++)
{
if (lis[j, 0] > lis[j + 1, 0])
{
temp[0, 0] = lis[j, 0];
temp[0, 1] = lis[j, 1];
lis[j, 0] = lis[j + 1, 0];
lis[j, 1] = lis[j + 1, 1];
lis[j + 1, 0] = temp[0, 0];
lis[j + 1, 1] = temp[0, 1];
}
}
}
for (int i = 0; i < list.Length; i++)
{
ids += lis[i, 0] + ",";
nums += lis[i, 1] + ",";
}
ids = ids.Substring(0, ids.Length - 1);
nums = nums.Substring(0, nums.Length - 1);
//string sqlstr = "select * from xinzhishangkeji_Products where ID in(" + (string.IsNullOrEmpty(ids) ? "''" : ids) + ") and [State]=1 order by ID asc";
//result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, sqlstr, 4, sqlstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0");
//if (result.dataSet.Tables[0].Rows.Count > 0)
//{
// string id = string.Empty;
// string[] num;
// string img = string.Empty;
// string name = string.Empty;
// num = nums.Split(',');
// for (int i = 0; i < result.dataSet.Tables[0].Rows.Count; i++)
// {
// id = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["ID"].ToString());
// img = PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["PhotURL"].ToString());
// name = PublicFunctions.PFunctions.GetSting(PublicFunctions.PFunctions.UnHtml(result.dataSet.Tables[0].Rows[i]["ProductName"].ToString()), 30);
// TRList += "<tr valign=\"middle\"><td height=\"117\" align=\"center\"><span class=\"cp_pic\">"
// + "<img src=\"" + img + "\" width=\"100\" height=\"100\" alt=\"产品\" /></span></td>"
// + "<td align=\"center\">" + name + "</td>"
// + "<td align=\"center\"><input type=\"text\" name=\"textfield\" class=\"dingshu\" value=\"" + num[i] + "\" /></td>"
// + "<td align=\"center\"><a href=\"car.aspx?id=" + id + "\">"
// + "<img src=\"images/shuchu_03.jpg\" width=\"16\" height=\"16\" /></a></td></tr>";
// }
//}
PublicFunctions.PFunctions.Message_Send(this, "alert", order + "," + (string.IsNullOrEmpty(ids) ? "''" : ids), "", false);
}
}
/*
#region 添加到购物车AddShoppingCar
/// <summary>
/// 添加到购物车AddShoppingCar
/// </summary>
/// <param name="num">数量 如果存在产品 负数是减少
/// 正数是增加 如果不存在 直接增加</param>
/// <param name="id">货物ID</param>
/// <param name="expires">cookies保存的天数</param>
/// <remarks>这里的方法就是把在原有的Cookie基础上判断是否有
/// 这个产品 如果有 在原有数量上增加 没有 就直接增加 如果是负
/// 数 就是减少 如果负数的数量大于等于
/// 原有数量 设置为0 对应后面的读出操作</remarks>
public static void AddShoppingCar(string num, string id, int expires)
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
HttpCookie cookie;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
if (HttpContext.Current.Request.Cookies["Products"].Values[id.ToString()] == null)
{
cookievalue = cookievalue + "&" + id + "=" + num;
}
else
{
int num1 = int.Parse(HttpContext.Current.Request.Cookies["Products"].Values[id.ToString()].ToString()) + int.Parse(num);
if (num1 > 0)
{
HttpContext.Current.Request.Cookies["Products"].Values[id.ToString()] = num1.ToString();
}
else
{
HttpContext.Current.Request.Cookies["Products"].Values[id.ToString()] = "0";
}
cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
}
cookie = new HttpCookie("Products", cookievalue);
if (expires != 0)
{
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
cookie.Expires = dt.Add(ts);
}
HttpContext.Current.Response.AppendCookie(cookie);
}
else
{
HttpCookie newcookie = new HttpCookie("Products");
if (expires != 0)
{
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
newcookie.Expires = dt.Add(ts);
}
newcookie.Values[id.ToString()] = num;
HttpContext.Current.Response.AppendCookie(newcookie);
}
}
#endregion
*/
#region 添加到购物车AddShoppingCar
/// <summary>
/// 添加到购物车AddShoppingCar
/// </summary>
/// <param name="num">数量 如果存在产品 负数是减少
/// 正数是增加 如果不存在 直接增加</param>
/// <param name="dt">
/// 循环读出来的DATATABLE
/// </param>
/// <param name="id">货物ID</param>
/// <param name="expires">cookies保存的天数</param>
/// <remarks>这里的方法就是把在原有的Cookie基础上判断是否有
/// 这个产品 如果有 在原有数量上增加 没有 就直接增加 如果是负
/// 数 就是减少 如果负数的数量大于等于
/// 原有数量 设置为0 对应后面的读出操作</remarks>
public static void AddShoppingCar(DataTable dt, int expires)
{
if (HttpContext.Current.Request.Cookies["Products"] != null)
{
HttpCookie cookie;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()] == null)
{
cookievalue = cookievalue + "&" + dt.Rows[i]["ID"].ToString() + "=" + dt.Rows[i]["ProductCount"].ToString();
}
else
{
int num1 = int.Parse(HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()].ToString()) + int.Parse(dt.Rows[i]["ProductCount"].ToString());
if (num1 > 0)
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()] = num1.ToString();
}
else
{
HttpContext.Current.Request.Cookies["Products"].Values[dt.Rows[i]["ID"].ToString().ToString()] = "0";
}
cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
}
}
cookie = new HttpCookie("Products", cookievalue);
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
cookie.Expires = time1.Add(ts);
}
HttpContext.Current.Response.AppendCookie(cookie);
}
else
{
HttpCookie newcookie = new HttpCookie("Products");
if (expires != 0)
{
DateTime time1 = DateTime.Now;
TimeSpan ts = new TimeSpan(expires, 0, 0, 20);
newcookie.Expires = time1.Add(ts);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
newcookie.Values[dt.Rows[i]["ID"].ToString()] = dt.Rows[i]["ProductCount"].ToString();
}
HttpContext.Current.Response.AppendCookie(newcookie);
}
}
#endregion
#region 根据ID删除产品RemoveShoppingCar
/// <summary>
/// 根据ID删除产品RemoveShoppingCar
/// </summary>
/// <param name="id">产品ID</param>
/// <remarks>
/// 就是设置商品数量为0
/// 本来增加方法可以实现
/// 但是需要读出来原有数量
/// 所以为了避免繁琐 有此方法
/// </remarks>
public static void RemoveShoppingCar(string id)
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values[id] != null)
{
HttpCookie cookie;
HttpContext.Current.Request.Cookies["Products"].Values[id] = "0";
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
cookie = new HttpCookie("Products", cookievalue);
HttpContext.Current.Response.AppendCookie(cookie);
}
}
#endregion
#region 删除购物车RemoveShoppingCar
/// <summary>
/// 删除购物车RemoveShoppingCar
/// </summary>
/// <remarks>
/// 使购物车的Cookie为空
/// </remarks>
public static void RemoveShoppingCar()
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values.Count != 0)
{
HttpContext.Current.Request.Cookies["Products"].Expires = System.DateTime.Now.AddHours(-1);
HttpContext.Current.Response.AppendCookie(HttpContext.Current.Request.Cookies["Products"]);
}
}
#endregion
#region 根据ID修改产品UpdateShoppingCar
/// <summary>
/// 根据ID修改产品UpdateShoppingCar
/// </summary>
/// <param name="id">产品ID</param>
/// <param name="num">产品数量</param>
/// <remarks>
/// 更新产品的数量
/// </remarks>
public static void UpdateShoppingCar(string id, string num)
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Values[id] != null)
{
HttpCookie cookie;
HttpContext.Current.Request.Cookies["Products"].Values[id] = num;
string cookievalue = HttpContext.Current.Request.Cookies["Products"].Value;
cookie = new HttpCookie("Products", cookievalue);
HttpContext.Current.Response.AppendCookie(cookie);
}
}
#endregion
#region 得到所有的产品列表GetAllChoppingCar
/// <summary>
/// 得到所有的产品列表GetAllChoppingCar
/// </summary>
/// <returns>所有产品的数据集</returns>
/// <remarks>因为对DataTable操作比较方便(个人喜好)
/// 这里是把里面的字符串分割为Datatable</remarks>
public static DataTable GetAllChoppingCar()
{
if (HttpContext.Current.Request.Cookies["Products"] != null && HttpContext.Current.Request.Cookies["Products"].Value.Trim() != "")
{
DataColumn dcid = new DataColumn("id");
DataColumn dcnum = new DataColumn("num");
DataTable dt = new DataTable();
dt.Columns.Add(dcid);
dt.Columns.Add(dcnum);
string[] str = HttpContext.Current.Request.Cookies["Products"].Value.Split('&');
for (int i = 0; i < str.Length; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = (str[i].Split('='))[0].ToString();
dr["num"] = (str[i].Split('='))[1].ToString();
if (int.Parse((str[i].Split('='))[1].ToString()) != 0)
{
dt.Rows.Add(dr);
}
}
return dt;
}
else
{
return null;
}
}
#endregion
#region 关于购物车Cookie里的DataTable的操作GetCookieByDataTable
/// <summary>
/// 关于购物车Cookie里的DataTable的操作GetCookieByDataTable
/// </summary>
/// <param name="dt"></param>
/// <remarks>
/// 把读出来的DataTable转换为字符串
/// 根据的规则是自己定的 &符号是分开产品
/// =号是分开产品ID和产品价格
/// </remarks>
/// <returns></returns>
public static String GetCookieByDataTable(DataTable dt)
{
String datatable = "";
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
datatable = dt.Rows[i]["id"].ToString() + "=" + dt.Rows[i]["num"].ToString() + "&" + datatable;
}
}
return datatable;
}
#endregion
#region 把字符串转换为datatable GetDataTable
/// <summary>
/// 把字符串转换为datatable GetDataTable
/// </summary>
/// <param name="datatable"></param>
/// <remarks>
/// 把Cookie里的字符串转换为DataTable
/// 是GetCookieByDataTable的反操作
/// </remarks>
/// <returns></returns>
public static DataTable GetDataTable(string datatable)
{
DataColumn dcid = new DataColumn("id");
DataColumn dcnum = new DataColumn("num");
DataTable dt = new DataTable();
dt.Columns.Add(dcid);
dt.Columns.Add(dcnum);
if (!datatable.StartsWith("&"))
{
string[] str = datatable.Split('&');
for (int i = 0; i < str.Length; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = (str[i].Split('='))[0].ToString();
dr["num"] = (str[i].Split('='))[1].ToString();
if (int.Parse((str[i].Split('='))[1].ToString()) != 0)
{
dt.Rows.Add(dr);
}
}
}
else
{
DataRow dr = dt.NewRow();
dr["id"] = (datatable.Split('='))[0].ToString();
dr["num"] = (datatable.Split('='))[1].ToString();
if (int.Parse((datatable.Split('='))[1].ToString()) != 0)
{
dt.Rows.Add(dr);
}
}
return dt;
}
#endregion
}
|
二维数组及jquery传值 |
二维数组,传值 |
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(".a1").click(function () {
var id = $(this).attr("rel");
$.post("Test1.aspx", {
pid: id,
action: "update"
}, function (data) {
alert(data);
})
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<a class="a1" rel="1">测试</a> <a class="a1" rel="2">测试</a> <a class="a1" rel="3">测试</a><br />
</div>
</form>
</body>
</html>
Test1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class admin_Test1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Action();
test1();
}
public void test1()
{
string strs = "5=4&3=2&1=4";
string[] strA1 = strs.Split(new char[]{'&'});
int count = strA1.Length;
int[,] strA2 = new int[count, 2];
for (int i = 0; i < strA1.Length;i++ )
{
string[] strA1_ = strA1[i].Split(new char[] { '=' }) ;
strA2[i,0] = Convert.ToInt32(strA1_[0]);
strA2[i, 1] = Convert.ToInt32(strA1_[1]);
}
// Label1.Text = strA2[0, 0] + " " + strA2[0, 1];
int[,] t=new int[count,2];
for (int i = 0; i < count - 1; i++)
{
for (int j = 0; j < count - 1 - i; j++)
{
if (strA2[j+1, 0] < strA2[j, 0])
{
t[0,0] = strA2[j, 0];
strA2[j, 0] = strA2[j+1, 0];
strA2[j+1, 0] = t[0,0];
}
}
}
Label1.Text = strA2[0, 0] + " " + strA2[0, 1] + ",";
Label1.Text += strA2[1, 0] + " " + strA2[1, 1]+",";
Label1.Text += strA2[2, 0] + " " + strA2[2, 1];
}
private void Action()
{
string action=Request.Form["action"];
if (action == null) return;
switch (action)
{
case "update":
UpateData();
break;
default:
break;
}
}
private void UpateData()
{
string pid=Request.Form["pid"];
if (pid == null) return;
/*do things*/
Response.Write("状态:succeed 产品id "+pid);
Response.End();
}
}
|
treeview无限级绑定及checkbox的一些操作 |
treeview,checkbox |
|
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tvsonUser.aspx.cs" Inherits="tvsonUser" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../css/GridviewShowCss.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body, html
{
height: 100%;
margin: 0;
padding: 0;
}
#ifm
{
overflow-x: auto;
}
</style>
<script type="text/javascript">
// 点击复选框时触发事件
function postBackByObject() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
//方法一:子结点选中,父节点也随之选中
function public_GetParentByTagName(element, tagName) {
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();
//如果这个元素还不是想要的tag就继续上溯
while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}
//设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问
function setParentChecked(objNode) {
var objParentDiv = public_GetParentByTagName(objNode, "div");
if (objParentDiv == null || objParentDiv == "undefined") {
return;
}
var objID = objParentDiv.getAttribute("ID");
objID = objID.substring(0, objID.indexOf("Nodes"));
objID = objID + "CheckBox";
var objParentCheckBox = document.getElementById(objID);
if (objParentCheckBox == null || objParentCheckBox == "undefined") {
return;
}
if (objParentCheckBox.tagName != "INPUT" && objParentCheckBox.type == "checkbox")
return;
objParentCheckBox.checked = true;
setParentChecked(objParentCheckBox);
}
//设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问
function setChildUnChecked(divID) {
var objchild = divID.children;
var count = objchild.length;
for (var i = 0; i < objchild.length; i++) {
var tempObj = objchild[i];
if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") {
tempObj.checked = false;
}
setChildUnChecked(tempObj);
}
}
//设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问
function setChildChecked(divID) {
var objchild = divID.children;
var count = objchild.length;
for (var i = 0; i < objchild.length; i++) {
var tempObj = objchild[i];
if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") {
tempObj.checked = true;
}
setChildChecked(tempObj);
}
}
function CheckEvent() {
var objNode = event.srcElement;
if (objNode.tagName != "INPUT" || objNode.type != "checkbox")
return;
if (objNode.checked == true) {
setParentChecked(objNode);
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0, objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID + "Nodes");
if (objParentDiv == null || objParentDiv == "undefined") {
return;
}
setChildChecked(objParentDiv);
}
else {
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0, objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID + "Nodes");
if (objParentDiv == null || objParentDiv == "undefined") {
return;
}
setChildUnChecked(objParentDiv);
}
}
// 方法二:子结点选中,父节点不跟随选中
function OnTreeNodeChecked() {
var ele = event.srcElement;
if (ele.type == 'checkbox') {
var childrenDivID = ele.id.replace('CheckBox', 'Nodes');
var div = document.getElementById(childrenDivID);
if (div == null) return;
var checkBoxs = div.getElementsByTagName('INPUT');
for (var i = 0; i < checkBoxs.length; i++) {
if (checkBoxs[i].type == 'checkbox')
checkBoxs[i].checked = ele.checked;
}
}
}
window.onload = function () {
document.getElementById("ifm").style.height = document.body.scrollHeight - 2;
document.getElementById("ifm").style.width = document.body.clientWidth - getScrollTop() - 2;
//alert(document.getElementById("ifm").style.width);
//alert(document.getElementById("ifm").style.height);
}
function getScrollTop() {
var scrollTop = 0;
if (document.documentElement && document.documentElement.scrollTop) {
scrollTop = document.documentElement.scrollTop;
}
else if (document.body) {
scrollTop = document.body.scrollTop;
}
return scrollTop;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="ifm">
<asp:TreeView ID="tvUserid" runat="server" ShowLines="True" OnTreeNodeCheckChanged="tvUserid_TreeNodeCheckChanged">
</asp:TreeView>
</div>
</form>
</body>
</html>
后台代码:tvsonUser.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Collections;
using System.Text;
public partial class tvsonUser : System.Web.UI.Page
{
public PublicFunctions.SqlProcedure SQLProcedure = new PublicFunctions.SqlProcedure();
public PublicFunctions.SqlResult result = new PublicFunctions.SqlResult();
private string UserIds = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
SQLProcedure.ProcedureName = "DataOperation";
if (!Page.IsPostBack)
{
UserIds = getUid();
TreeViewLoad();
}
}
public string getUid()
{
string vals = string.Empty;
if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
{
string selectSQL = "select * from SLT_News_User where NewsId=" + Convert.ToInt32(Request.QueryString["id"]);
//调用数据库操作存储过程,1为增加并返回新增记录的自增长ID,2为修改,3为删除,4为选择查找并返回dataset
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, selectSQL, 4, selectSQL, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0"); //取得存储过程的dataset的值;(SQLstr, 3);
if (result.dataSet.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < result.dataSet.Tables[0].Rows.Count; i++)
{
vals += result.dataSet.Tables[0].Rows[i]["Userid"].ToString() + ",";
}
}
}
return vals;
}
//创建父节点
private void TreeViewLoad()
{
this.tvUserid.Nodes.Clear();
//查询根节点下面的叶节点信息
string SQLstr = "select Id,LogionId,Parentid from SLT_User";
result = PublicFunctions.PFunctions.GetDataSetCache(SQLProcedure, result, SQLstr, 4, SQLstr, DateTime.MaxValue, TimeSpan.FromSeconds(1000), System.Web.Caching.CacheItemPriority.High, null, "", "", "0"); //取得存储过程的dataset的值
DataView dv = new DataView(result.dataSet.Tables[0]);
int uid = UserId;
if (uid > 0)
{
//dv.RowFilter = "Parentid=" + Convert.ToInt32(Session["id"]);
dv.RowFilter = "Parentid=" + uid;
}
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv["LogionId"].ToString();
node.Value = drv["Id"].ToString();
node.ToolTip = drv["Id"].ToString();
node.CollapseAll();
node.SelectAction = TreeNodeSelectAction.None;//不引发事件
node.ShowCheckBox = true;
this.tvUserid.Nodes.Add(node);//添加到根节点
treeViewNodeAdd(result.dataSet.Tables[0], node);//递归函数
}
//this.tvUserid.Attributes.Add("onclick", "CheckEvent()");
this.tvUserid.Attributes.Add("onclick", "OnTreeNodeChecked();postBackByObject();return true; ");
GetNode(this.tvUserid.Nodes);
}
/// <summary>
/// 递归取出父节点下的子节点
/// </summary>
/// <param name="dt"></param>
/// <param name="node"></param>
protected void treeViewNodeAdd(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "Parentid='" + node.Value + "'";//过滤 node。Value 为上级的treeNode 值
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();//新建一个节点
replyNode.Text = row["LogionId"].ToString();
replyNode.Value = row["Id"].ToString();
replyNode.ToolTip = row["Id"].ToString();
replyNode.CollapseAll();
replyNode.ShowCheckBox = true;
node.ChildNodes.Add(replyNode);//添加到子节点
treeViewNodeAdd(dt, replyNode);//继续递归函数
}
}
/*
//获取TreeView所有节点的值
public void GetNode(TreeNodeCollection tc)
{
if (tc == null)
return;
foreach (TreeNode TNode in tc)
{
Response.Write(TNode.Value.ToString());
GetNode(TNode.ChildNodes);
}
}
*/
public void GetNode(TreeNodeCollection tc)
{
if (tc == null)
return;
string vals = UserIds;
if (vals != null && vals != "")
{
//string[] arrstr = vals.Split(new char[] { ',' });
string[] arrstr = vals.Split(new string[] { @"," }, StringSplitOptions.RemoveEmptyEntries);
foreach (TreeNode TNode in tc)
{
for (int i = 0; i < arrstr.Length; i++)
{
if (arrstr[i] == TNode.Value)
{
TNode.Checked = true;
}
}
if (TNode.Checked)
{
TNode.ExpandAll();
}
GetNode(TNode.ChildNodes);
}
}
}
protected void tvUserid_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (e.Node.Checked)
{
e.Node.ExpandAll();
}
else
{
//e.Node.ToggleExpandState();
}
}
}
|
jQuery智能判断是否是当前导航并加标记 |
jquery, 智能判断, 加标记 |
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery智能判断是否是当前导航并加标记</title>
<script src="http://www.webdm.cn/themes/script/jquery.js" type="text/javascript"></script>
<style type="text/css">
body, h1, h2, h3, h4, h5, h6, p, ul, li, dl, dt, dd
{
padding: 0;
margin: 0;
}
li
{
list-style: none;
}
img
{
border: none;
}
em
{
font-style: normal;
}
a
{
color: #555;
text-decoration: none;
outline: none;
blr: this.onFocus=this.blur();
}
a:hover
{
color: #000;
text-decoration: underline;
}
body
{
font-size: 12px;
font-family: Arial,Verdana, Helvetica, sans-serif;
word-break: break-all;
word-wrap: break-word;
}
.clear
{
height: 0;
overflow: hidden;
clear: both;
}
.nav
{
width: 950px;
height: 29px;
margin: 20px auto 0;
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) repeat-x 0 -180px;
position: relative;
}
.navl
{
position: absolute;
left: 0;
width: 3px;
height: 29px;
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) no-repeat 0 -150px;
}
.navr
{
position: absolute;
right: 0;
width: 3px;
height: 29px;
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) no-repeat right -150px;
}
.nav ul
{
margin-left: 10px;
}
.nav ul li
{
float: left;
line-height: 29px;
display: inline;
text-align: center;
padding-left: 5px;
font-size: 14px;
font-weight: bold;
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) no-repeat right -208px;
}
.nav ul li a
{
float: left;
color: #FFF;
padding: 0 10px;
}
.nav ul li.select
{
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) repeat-x 0 -240px;
position: relative;
margin-top: -4px;
}
.nav ul li.select a
{
background: url(http://www.webdm.cn/images/20101216/1/navbg.gif) repeat-x right -240px;
height: 33px;
line-height: 33px;
color: #333;
text-indent: -3px;
}
</style>
<script type="text/javascript">
// nav
$(function shownav() {
var a1 = window.location.href;
var a2 = $(".nav ul li");
var strs = new Array();
strs = a1.split("/");
for (var i = 0; i < a2.length; i++) {
if ($(a2[i]).children().attr("href") == strs[(strs.length) - 1]) {
$(a2[i]).addClass("select");
return;
}
}
})
$(function () {
$(".nav ul li").each(function (index) {
if (window.location.href.indexOf($(".nav ul li").eq(index).children("a").attr("href")) > -1
{
$(".nav ul li").eq(index).attr("class", "select");
}
else {
$(this).hover(function () {
$(this).attr("class", "select");
},
function () {
$(this).removeAttr("class");
});
}
});
})
</script>
</head>
<body>
<div class="nav">
<em class="navl"></em><em class="navr"></em>
<ul>
<li><a href="nav.html">首 页</a></li>
<li><a href="nav2.html">手机卖场</a></li>
<li><a href="nav3.html">数码天下</a></li>
<li><a href="nav4.html">时尚女人</a></li>
<li><a href="nav5.html">家居装饰</a></li>
</ul>
</div>
<br />
</body>
</html>
|