图片轮播插件-carouFredSel

carouFredSel图片轮播插件基于Jquery,比较常规的轮播插件,支持滚轮及键盘左右按键,加入其它插件可实现更加复杂的特效。

主页地址:http://caroufredsel.dev7studios.com/

例子:

html:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <title>充电站GIS分布-实景图</title>
 5     <meta http-equiv="pragma" content="no-cache" />
 6     <meta http-equiv="cache-control" content="no-cache" />
 7     <meta http-equiv="expires" content="0" />
 8     <link rel="stylesheet" type="text/css" href="../../Scripts/jquery-easyui-1.3.1/themes/default/easyui.css" />
 9     <link rel="stylesheet" type="text/css" href="../../Scripts/jquery-easyui-1.3.1/themes/icon.css" />
10     <link href="../../Styles/PictureChargStation.css" rel="stylesheet" type="text/css" />
11     <script src="../../Scripts/jquery-easyui-1.3.1/jquery-1.8.0.min.js" type="text/javascript"></script>
12     <script src="../../Scripts/jquery-easyui-1.3.1/jquery.easyui.min.js" type="text/javascript"></script>
13     <script src="../../Scripts/jquery-easyui-1.3.1/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
14     <script src="../../Scripts/jquery-easyui-1.3.1/jquery.form.js" type="text/javascript"></script>
15     <script src="../../Scripts/coolcarousel/jquery.carouFredSel-6.0.4-packed.js" type="text/javascript"></script>
16     <script src="../../Scripts/pictureChargStation/pictureChargStation.js" type="text/javascript"></script>
17 </head>
18 <body class="easyui-layout">
19     <div data-options="region:'center',title:'实景图'">
20         <table class="tb-style">
21             <tr class="trpile">
22                 <td class="tdPile">
23                     选择充电站:
24                 </td>
25                 <td class="tdselect">
26                     <select id="chargstation" name="chargstation" onchange="chargstation_onchanged()">
27                     </select>
28                 </td>
29                 <td class="address">
30                     地址:
31                 </td>
32                 <td>
33                     <input id="csaddress" readonly="readonly" type="text" />
34                 </td>
35                 <td>
36                     当月运行概况:充电桩总数量:
37                 </td>
38                 <td>
39                     <input id="cscount" readonly="readonly" type="text" />
40                 </td>
41                 <td>
42                     当月累计充电电量:
43                 </td>
44                 <td>
45                 </td>
46             </tr>
47         </table>
48         <div id="wrapper">
49             <div id="images">    
50             </div>
51             <div id="thumbs">
52             </div>
53             <a id="prev" href="#"></a><a id="next" href="#"></a>
54             <div class="pagination" id="foo2_pag"></div>
55         </div>
56     </div>
57 </body>
58 </html>

 

css:

 

  1 html, body
  2 {
  3     height: 100%;
  4     padding: 0;
  5     margin: 0;
  6 }
  7 body
  8 {
  9     min-height: 600px;
 10     background-color: #e6e6e6;
 11 }
 12 body *
 13 {
 14     font-family: Arial, Geneva, SunSans-Regular, sans-serif;
 15     font-size: 14px;
 16     color: #333;
 17     line-height: 22px;
 18 }
 19 #wrapper
 20 {
 21     background-color: #fff;
 22     width: 960px;
 23     height: 575px;
 24     margin: -300px 0 0 -225px;
 25     position: absolute;
 26     top: 50%;
 27     left: 25%;
 28 }
 29 #wrapper img
 30 {
 31     display: block;
 32     float: left;
 33 }
 34 #images, #thumbs
 35 {
 36     height: 350px;
 37     overflow: hidden;
 38 }
 39 #images
 40 {
 41     width: 350px;
 42     margin: 50px 0 25px 305px;
 43 }
 44 #thumbs
 45 {
 46     width: 450px;
 47     height: 100px;
 48 }
 49 #thumbs img
 50 {
 51     border: 1px solid #ccc;
 52     padding: 14px;
 53     margin: 0 12px 0 12px;
 54     cursor: pointer;
 55 }
 56 #thumbs img.selected, #thumbs img:hover
 57 {
 58     border-color: #333;
 59 }
 60 #prev, #next
 61 {
 62     width: 15px;
 63     height: 21px;
 64     display: block;
 65     text-indent: -999em;
 66     background: transparent url(../../Scripts/coolcarousel/img/carousel_control.png) no-repeat 0 0;
 67     position: absolute;
 68     bottom: 85px;
 69 }
 70 #prev
 71 {
 72     background-position: 0 0;
 73     left: 15px;
 74 }
 75 #prev:hover
 76 {
 77     left: 14px;
 78 }
 79 #next
 80 {
 81     background-position: -18px 0;
 82     right: 15px;
 83 }
 84 #next:hover
 85 {
 86     right: 14px;
 87 }
 88 #prev.disabled, #next.disabled
 89 {
 90     display: none !important;
 91 }
 92 .pagination
 93 {
 94     text-align: center;
 95 }
 96 
 97 .pagination a
 98 {
 99     background: url(../../Scripts/coolcarousel/img/miscellaneous_sprite.png) 0 -300px no-repeat transparent;
100     width: 15px;
101     height: 15px;
102     margin: 15px 5px 0 0;
103     display: inline-block;
104 }
105 
106 .pagination a.selected
107 {
108     background-position: -25px -300px;
109     cursor: default;
110 }
111 
112 .pagination a span
113 {
114     display: none;
115 }
116 
117 #source
118 {
119     text-align: center;
120     width: 400px;
121     margin: 0 0 0 -200px;
122     position: absolute;
123     bottom: 10px;
124     left: 50%;
125 }
126 #source, #source a
127 {
128     color: #999;
129     font-size: 12px;
130 }
131 #donate-spacer
132 {
133     height: 100%;
134 }
135 #donate
136 {
137     border-top: 1px solid #999;
138     width: 750px;
139     padding: 50px 75px;
140     margin: 0 auto;
141     overflow: hidden;
142 }
143 #donate p, #donate form
144 {
145     margin: 0;
146     float: left;
147 }
148 #donate p
149 {
150     width: 650px;
151 }
152 #donate form
153 {
154     width: 100px;
155 }
156 .tdPile
157 {
158     text-align: center;
159 }
160 #chargstation
161 {
162     width: 200px;
163 }
164 #cscount
165 {
166     border: none;
167     width: 50px;
168     background: none;
169 }
170 .address
171 {
172     width: 50px;
173     text-align: center;
174 }
175 #csaddress
176 {
177     border: none;
178     background: none;
179     width: 200px;
180 }
181 .tb-style
182 {
183     width: 100%;
184     height: 30px;
185     background-color: #efefef;
186 }

js:

  1 var myurl;
  2 var mydata;
  3 var mytype = "POST";
  4 var jsonType = "json";
  5 var htmlType = "html";
  6 var commonType = "application/json; charset=utf-8";
  7 var editIndex = undefined;
  8 
  9 //--------------------------------------------------------------
 10 $(function () {
 11     getChargStationPicture();
 12     initcoolcarousel();
 13     bindChargStation();
 14 
 15 });
 16 
 17 function initcoolcarousel() {
 18     $('#images').carouFredSel({
 19         circular: false,
 20         auto: false,
 21         items: {
 22             visible: 1
 23         },
 24         scroll: {
 25             fx: 'directscroll'
 26         }
 27     });
 28     $('#thumbs').carouFredSel({
 29         circular: false,
 30         infinite: false,
 31         auto: false,
 32         width: 960,
 33         items: {
 34             visible: {
 35                 min: 1,
 36                 max: 7
 37             }
 38         },
 39         prev: '#prev',
 40         next: '#next',
 41         pagination: "#foo2_pag"
 42 
 43     });
 44 
 45     $('#thumbs img').click(function () {
 46         $('#images').trigger('slideTo', "#" + this.alt);
 47         $('#thumbs img').removeClass('selected');
 48         $(this).addClass('selected');
 49         return false;
 50     });
 51 }
 52 
 53 function bindChargStation() {
 54 
 55     myurl = "../../WebService/PictureChargStationService.ashx";
 56     mydata = { action: 'getChargStation' };
 57     var data = getData();
 58     $("#chargstation").empty();
 59     var length = data.rows.length;
 60     $("#chargstation").append("<option value='0'>—请选择—</option>");
 61     if (length == 0) {
 62         return;
 63     }
 64     for (var i = 0; i < length; i++) {
 65         $("#chargstation").append("<option value='" + data.rows[i].ZHAN_BH + "'>" + data.rows[i].ZHUAN_MC + "</option>");
 66     }
 67 }
 68 
 69 
 70 function getChargStationPicture() {
 71     myurl = "../../WebService/PictureChargStationService.ashx";
 72     mydata = { action: 'getChargStationFile', id: $("#chargstation option:selected").val() };
 73     var data = getData();
 74     var imagesHtml = "", thumbsHtml = "";
 75     if (!data || data == "empty" || data.rows.length == 0) {
 76         imagesHtml += "<img id='non-img' src='../../images/noimage.png' alt='non-img' width='350' height='350' />";
 77         thumbsHtml += "<img src='../../images/noimage.png' alt='non-img' width='70' height='70' />";
 78     }
 79     else {
 80         for (var i = 0; i < data.rows.length; i++) {
 81             imagesHtml += "<img id='ek-aanhanger' src='../../Scripts/coolcarousel/img/large/ek-aanhanger.gif' alt='ek-aanhanger' width='350' height='350' />";
 82             thumbsHtml += "<img src='../../Scripts/coolcarousel/img/small/ek-aanhanger.gif' alt='ek-aanhanger' width='70' height='70' />";
 83         }
 84     }
 85 
 86     $("#images").append(imagesHtml);
 87     $("#thumbs").append(thumbsHtml);
 88 }
 89 
 90 
 91 //----------------------------------------------------------------------------------------------------
 92 
 93 function chargstation_onchanged() {
 94     myurl = "../../WebService/PictureChargStationService.ashx";
 95     mydata = { action: 'getAddress', id: $("#chargstation option:selected").val() };
 96     var data = getData();
 97     if (data.rows.length == 0) {
 98         $("#csaddress").val("");
 99         $("#cscount").val("");
100         return false;
101     }
102     $("#csaddress").val(data.rows[0].XIANGXI_DZ);
103     mydata = { action: 'getChargPileCount', id: $("#chargstation option:selected").val() };
104     data = getData();
105     $("#cscount").val(data);
106     getChargStationPicture();
107     return true;
108 }
109 
110 
111 //----------------------------------------------------------------------------------------------------
112 
113 function getData() {
114     var value;
115     $.ajax({
116         url: myurl,
117         type: mytype,
118         async: false,
119         data: mydata,
120         dataType: htmlType,
121         success: function (data) {
122             if (data) {
123                 var val = "";
124                 var ret = data.split("|")[0];
125                 eval("val=" + ret);
126                 var res = data.split("|")[1];
127                 if (ret == "0") {
128                     value = "0";
129                 } else {
130                     value = val;
131                 }
132             }
133         },
134         error: function () {
135             parent.messager("提示", "error");
136         }
137     });
138     return value;
139 }

webservice:

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using ChargingPile.BLL;
  6 using ChargingPile.Model;
  7 using log4net;
  8 
  9 namespace ChargingPile.UI.WEB.WebService
 10 {
 11     /// <summary>
 12     /// Summary description for PictureChargStationService
 13     /// </summary>
 14     public class PictureChargStationService : IHttpHandler
 15     {
 16         protected ILog Log = LogManager.GetLogger("PriceAdjustmentService");
 17         readonly OprLogBll _oprLogBll = new OprLogBll();
 18         public void ProcessRequest(HttpContext context)
 19         {
 20             context.Response.ContentType = "text/plain";
 21             var action = context.Request.Params["action"];
 22             var str = string.Empty;
 23             switch (action)
 24             {
 25 
 26                 case "getChargStation":
 27                     str = GetChargStation(context);
 28                     break;
 29                 case "getAddress":
 30                     str = GetAddress(context);
 31                     break;
 32                 case "getChargPileCount":
 33                     str = GetChargPileCount(context);
 34                     break;
 35                 case "getChargStationFile":
 36                     str = GetChargStationFile(context);
 37                     break;
 38 
 39             }
 40             context.Response.Write(str);
 41         }
 42 
 43         /// <summary>
 44         /// 获取充电站
 45         /// </summary>
 46         /// <param name="context"></param>
 47         /// <returns></returns>
 48         public string GetChargStation(HttpContext context)
 49         {
 50             var chargstationbll = new ChargStationBll();
 51             var chargstation = new ChargStation();
 52             string str;
 53             var count = 0;
 54             try
 55             {
 56                 var dt = chargstationbll.Query(chargstation);
 57                 str = ConvertToJson.DataTableToJson("rows", dt);
 58                 str += "|";
 59             }
 60             catch (Exception e)
 61             {
 62                 Log.Error(e);
 63                 throw;
 64             }
 65             return str;
 66         }
 67 
 68         /// <summary>
 69         /// 获取充电站地址
 70         /// </summary>
 71         /// <param name="context"></param>
 72         /// <returns></returns>
 73         public string GetAddress(HttpContext context)
 74         {
 75             var chargstationbll = new ChargStationBll();
 76             var chargstation = new ChargStation
 77                 {
 78                     ZhanBh = Int32.Parse(context.Request.Params["id"])
 79                 };
 80             string str;
 81             try
 82             {
 83                 var dt = chargstationbll.Query(chargstation);
 84                 str = ConvertToJson.DataTableToJson("rows", dt);
 85                 str += "|";
 86             }
 87             catch (Exception e)
 88             {
 89                 Log.Error(e);
 90                 throw;
 91             }
 92             return str;
 93         }
 94 
 95         /// <summary>
 96         /// 获取充电桩数量
 97         /// </summary>
 98         /// <param name="context"></param>
 99         /// <returns></returns>
100         public string GetChargPileCount(HttpContext context)
101         {
102             var chargstationbll = new ChargStationBll();
103             var id = Int32.Parse(context.Request.Params["id"]);
104 
105             string str = null;
106             try
107             {
108                 var count = chargstationbll.FindByChargPileCount(id);
109                 str += count + "|";
110             }
111             catch (Exception e)
112             {
113                 Log.Error(e);
114                 throw;
115             }
116             return str;
117         }
118 
119         /// <summary>
120         /// 获取充电站全景图片
121         /// </summary>
122         /// <param name="context"></param>
123         /// <returns></returns>
124         public string GetChargStationFile(HttpContext context)
125         {
126             var chargstationfilebll = new ChargStationFileBll();
127             var id = context.Request.Params["id"];
128             if (string.IsNullOrEmpty(id))
129             {
130                 return "{\"total\":0,\"rows\":[],\"msg\":\"error\"}"; ;
131             }
132             var chargstationfile = new ChargStationFile
133             {
134                 ZhanBh = Int32.Parse(id)
135             };
136             string str;
137             try
138             {
139                 var dt = chargstationfilebll.Query(chargstationfile);
140                 str = ConvertToJson.DataTableToJson("rows", dt);
141                 str += "|";
142             }
143             catch (Exception e)
144             {
145                 Log.Error(e);
146                 throw;
147             }
148             return str;
149         }
150 
151         public bool IsReusable
152         {
153             get
154             {
155                 return false;
156             }
157         }
158     }
159 }

效果:

posted @ 2013-08-06 10:45  Seaurl  阅读(2097)  评论(0编辑  收藏  举报