asp.net中使用jquery实现动态加载新闻框
2014-03-24 23:18
681 查看
前台
样式代码:
<style type="text/css">
div.PhotoList
{
margin:0;
padding:0;
position:relative;
}
div.PhotoListPhotos
{
width:100%;
height:100%;
border:1px solid black;
}
div.PhotoListPhotos img
{
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
border:1px solid black;
}
.PhotoListDivPager
{
margin-left:2px;
margin-right:2px;
position:absolute;
bottom:0;
width:99%;
z-index:2;
background-color:Silver;
}
.PhotoListDivPager small
{
float:left;
padding-left:3px;
color:White;
}
.PhotoListDivPager div
{
float:right;
}
.PhotoListDivPager div span
{
color:White;
padding-left:3px;
padding-right:3px;
}
.PhotoListDivPager div span:hover
{
color:Red;
}
</style>
js代码:
//注意需要引用jquery
<script type="text/jscript" src="jquery-2.1.0.min.js"></script>
<script type="text/javascript">
var newsArray;
$(document).ready(function () {
//注意获取新闻的页面路径
$.get("../AJAX/GetPhotos.aspx", function (data, status) {
//解析json数据
newsArray = eval("(" + data + ")");
$.each(newsArray, function (index, item) {
//指定href链接地址 及图片的url
$(".PhotoListPhotos").children().eq(index).attr("href", item.Href);
$(".PhotoListPhotos").children().eq(index).children().eq(0).attr("src", item.ImgUrl);
})
});
//为标记添加方法
$(".PhotoListDivPager").children().eq(1).children().mouseover(
function () {
var imgIndex = $(this).text() - 1;
IndexChanged(imgIndex);
});
//默认选择了第一条新闻
IndexChanged(0);
})
//鼠标指向的新闻改变
function IndexChanged(index) {
$(".PhotoListPhotos").find("img").css("z-index", -1);
$(".PhotoListDivPager").children().eq(1).children().css("color", "white");
$(".PhotoListPhotos").children().eq(index).children().css("z-index", 1);
$(".PhotoListDivPager").children().eq(1).children().eq(index).css("color", "red");
$(".PhotoListDivPager").children().eq(0).text(newsArray[index].Title);
}
</script>
新闻图片部分的前台html代码:
<div class="PhotoList" style="width:440px;height:200px;">
<div class="PhotoListPhotos">
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
</div>
<div class="PhotoListDivPager">
<small></small>
<div>
<span> 1 </span>
<span> 2 </span>
<span> 3 </span>
<span> 4 </span>
</div>
</div>
</div>
//获取新闻的页面后台代码:
GetPhotos.aspx.cs :
需引用System.Web.Script.Serialization 用来将集合序列化为json格式的数据
using System.Web.Script.Serialization;
protected void Page_Load(object sender, EventArgs e)
{
//注:此处为方便测试 随便使用了几条数据 可从数据库获取最新发布的新闻
List<MyNews> newsList = new List<MyNews>();
newsList.Add(new MyNews() { Title = "新闻1", ImgUrl = "../Images/q1.jpg", Href = "../Default.aspx"});
newsList.Add(new MyNews() { Title = "新闻2", ImgUrl = "../Images/q2.jpg", Href = "href2" });
newsList.Add(new MyNews() { Title = "新闻3", ImgUrl = "../Images/q3.jpg", Href = "href3" });
newsList.Add(new MyNews() { Title = "新闻4", ImgUrl = "../Images/q4.jpg", Href = "href4" });
JavaScriptSerializer jss = new JavaScriptSerializer();
Response.Clear();
Response.Write(jss.Serialize(newsList));
Response.End();
}
private class MyNews
{
public string Title{get;set;}
public string ImgUrl{get;set;}
public string Href { get; set; }
}
最后运行效果:
还有个小bug: 页面首次加载时左下角的新闻标题未显示出第一条新闻的标题
样式代码:
<style type="text/css">
div.PhotoList
{
margin:0;
padding:0;
position:relative;
}
div.PhotoListPhotos
{
width:100%;
height:100%;
border:1px solid black;
}
div.PhotoListPhotos img
{
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
border:1px solid black;
}
.PhotoListDivPager
{
margin-left:2px;
margin-right:2px;
position:absolute;
bottom:0;
width:99%;
z-index:2;
background-color:Silver;
}
.PhotoListDivPager small
{
float:left;
padding-left:3px;
color:White;
}
.PhotoListDivPager div
{
float:right;
}
.PhotoListDivPager div span
{
color:White;
padding-left:3px;
padding-right:3px;
}
.PhotoListDivPager div span:hover
{
color:Red;
}
</style>
js代码:
//注意需要引用jquery
<script type="text/jscript" src="jquery-2.1.0.min.js"></script>
<script type="text/javascript">
var newsArray;
$(document).ready(function () {
//注意获取新闻的页面路径
$.get("../AJAX/GetPhotos.aspx", function (data, status) {
//解析json数据
newsArray = eval("(" + data + ")");
$.each(newsArray, function (index, item) {
//指定href链接地址 及图片的url
$(".PhotoListPhotos").children().eq(index).attr("href", item.Href);
$(".PhotoListPhotos").children().eq(index).children().eq(0).attr("src", item.ImgUrl);
})
});
//为标记添加方法
$(".PhotoListDivPager").children().eq(1).children().mouseover(
function () {
var imgIndex = $(this).text() - 1;
IndexChanged(imgIndex);
});
//默认选择了第一条新闻
IndexChanged(0);
})
//鼠标指向的新闻改变
function IndexChanged(index) {
$(".PhotoListPhotos").find("img").css("z-index", -1);
$(".PhotoListDivPager").children().eq(1).children().css("color", "white");
$(".PhotoListPhotos").children().eq(index).children().css("z-index", 1);
$(".PhotoListDivPager").children().eq(1).children().eq(index).css("color", "red");
$(".PhotoListDivPager").children().eq(0).text(newsArray[index].Title);
}
</script>
新闻图片部分的前台html代码:
<div class="PhotoList" style="width:440px;height:200px;">
<div class="PhotoListPhotos">
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
<a href=""><img alt="" src="" /></a>
</div>
<div class="PhotoListDivPager">
<small></small>
<div>
<span> 1 </span>
<span> 2 </span>
<span> 3 </span>
<span> 4 </span>
</div>
</div>
</div>
//获取新闻的页面后台代码:
GetPhotos.aspx.cs :
需引用System.Web.Script.Serialization 用来将集合序列化为json格式的数据
using System.Web.Script.Serialization;
protected void Page_Load(object sender, EventArgs e)
{
//注:此处为方便测试 随便使用了几条数据 可从数据库获取最新发布的新闻
List<MyNews> newsList = new List<MyNews>();
newsList.Add(new MyNews() { Title = "新闻1", ImgUrl = "../Images/q1.jpg", Href = "../Default.aspx"});
newsList.Add(new MyNews() { Title = "新闻2", ImgUrl = "../Images/q2.jpg", Href = "href2" });
newsList.Add(new MyNews() { Title = "新闻3", ImgUrl = "../Images/q3.jpg", Href = "href3" });
newsList.Add(new MyNews() { Title = "新闻4", ImgUrl = "../Images/q4.jpg", Href = "href4" });
JavaScriptSerializer jss = new JavaScriptSerializer();
Response.Clear();
Response.Write(jss.Serialize(newsList));
Response.End();
}
private class MyNews
{
public string Title{get;set;}
public string ImgUrl{get;set;}
public string Href { get; set; }
}
最后运行效果:
还有个小bug: 页面首次加载时左下角的新闻标题未显示出第一条新闻的标题
相关文章推荐
- 使用jQuery,AJAX和ASP.NET动态加载数据页上的滚动
- Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
- Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
- Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
- Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
- asp.net 使用纯jquery上传控件 fineuploader实现多文件上传
- ASP.NET jQuery 随笔 使用jQuery UI的Autocomplete方法实现文本框的自动搜索填充功能
- ASP.NET中实现模版的动态加载
- 使用Asp.Net(C#)动态加载控件
- ASP.NET中实现模版的动态加载
- ASP.NET中实现模版的动态加载(转)
- asp.net cshtml页面使用Razor后台代码动态产生页面——函数实现
- 在asp.net中使用jquery.uploadify-3.1实现上传
- ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
- 使用jQuery实现ASP.NETGridView折叠伸展效果 推荐
- ASP.NET动态加载不同CSS,实现切换皮肤效果
- 使用Ajax实现动态双组合功能(asp.net)
- 使用Ajax实现动态双组合功能(asp.net)
- ASP.NET中使用jQuery插件实现图片幻灯效果
- ASP.NET使用后台动态加载js和css文件