MPBrowser简易图片浏览器 v1.0

所属分类: 网络编程 / AJAX相关 阅读数: 1075
收藏 0 赞 0 分享
MPBrowser.js
复制代码 代码如下:

var thisImgNo = 290;
function ajaxConn(){
    var xmlhttp = false;
    try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
    catch(e){try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
    catch(e){try{xmlhttp = new XMLHttpRequest();}
    catch(e){alert(e);xmlhttp = false;}}}
    if(!xmlhttp)return null;
    this.connect = function(Url,Method,postContent){
        if(!xmlhttp)return false;
        Method = Method.toUpperCase();
        try{
            if (Method == "GET"){
                xmlhttp.open(Method,Url + '?' + postContent,true);
                xmlhttp.setRequestHeader("Content-Type","text/html;charset=GB2312");
                sVars = null;
            }else{
                xmlhttp.open(Method,Url,true);
                xmlhttp.setRequestHeader("Method","POST "+Url+" HTTP/1.1");
                xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            }
            xmlhttp.onreadystatechange = function(){
                if(xmlhttp.readyState == 4){
                    if(xmlhttp.status == 200){
                        imgInfo = xmlhttp.ResponseText;
                        var imgInfoArr = imgInfo.split("|");
                        var tmpimg = new Image();
                        tmpimg.src = imgInfoArr[0];
                        thisImgNo = imgInfoArr[1];
                        var element = document.getElementById("img");
                        if(!element.xpos)element.xpos = 0;
                        element.style.width = (element.clientWidth + 130) + "px";
                        slideElement("img",element.xpos-130,0,10);
                        element.innerHTML += '<a href="http://blog.mzoe.com/" target="_blank"><img height="90" width="120" alt="" src="'+imgInfoArr[0]+'" /></a>';
                    }
                }
            }
            xmlhttp.send(postContent);
        }catch(z){return false;}
        return true;
    }
    return this;
}
function loadImg(type){
    var element = document.getElementById("img");
    if(!element.xpos)element.xpos = 0;
    if(type=="pre"){
        if(element.xpos==0)return false;
        slideElement("img",element.xpos+130,0,10);
    }else{
        if(element.xpos==-(element.clientWidth - 260)){
            var myConn = new ajaxConn();
            if(!myConn)return false;
            myConn.connect("Cmd.asp","get","d="+thisImgNo);
        }else{
            slideElement("img",element.xpos-130,0,10);
        }
    }
}
function slideElement(elementId,x,y,inc){
    var element = document.getElementById(elementId);
    if(element.sliding)clearTimeout(element.sliding);
    if(!element.xpos)element.xpos = 0;
    if(!element.ypos)element.ypos = 0;
    if(element.xpos == x && element.ypos == y) return true;
    if(element.xpos > x){
        var dist = Math.ceil((element.xpos-x)/inc);
        element.xpos = element.xpos - dist;
    }
    if(element.xpos < x) {
        var dist = Math.ceil((x-element.xpos)/inc);
        element.xpos = element.xpos + dist;
    }
    if(element.ypos > y) {
        var dist = Math.ceil((element.ypos-y)/inc);
        element.ypos = element.ypos - dist;
    }
    if(element.ypos < y) {
        var dist = Math.ceil((y-element.ypos)/inc);
        element.ypos = element.ypos + dist;
    }
    element.style.left = element.xpos+'px';
    element.style.top = element.ypos+'px';
    element.sliding = setTimeout('slideElement("'+elementId+'",'+x+','+y+','+inc+')',10);
}

MPBrowser主要的特点是无刷新,简单易用,代码也相当的简单,只有几kb的js代码,可以与任何的后台轻易整合,最后不臭美的说还有点好看(当然换个样式也相当的方便)。

  演示地址:http://www.mzoe.com/demo/MPBrowser/

  下载地址:http://www.mzoe.com/downfile/MPBrowser_v1.rar

  喜欢的朋友顶一下:D。
更多精彩内容其他人还在看

理解jquery ajax中的datatype属性选项值

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。
收藏 0 赞 0 分享

基于Jquery ajax技术实现间隔N秒向某页面传值

这篇文章给大家介绍jquery ajax技术实现每隔一段时间向某页面传值,以及setinterval()方法的语法介绍,对本文感兴趣的朋友可以参考下
收藏 0 赞 0 分享

通过Ajax两种方式讲解Struts2接收数组表单的方法

使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢?接下来,通过本文给大家介绍通过Ajax两种方式讲解Struts2接收数组表单的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Jquery.history解决ajax的前进后退问题

本文主要给大家介绍基于Jquery.history解决ajax的前进后退问题,涉及到jquery前进后退相关方面的知识,本文内容经典,非常具有参考价值,特此把jquery前进后退相关知识分享在脚本之家网站供大家参考
收藏 0 赞 0 分享

使用HTML5中postMessage知识点解决Ajax中POST跨域问题

这篇文章主要介绍了使用HTML5中postMessage知识点解决Ajax中POST跨域问题的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

谈谈你对aja的理解(一、二)

Ajax是Asynchronous Javascript And XML的缩写,其作用通过Ajax可以使用Javascript语句来调用XMLHttpRequest对象,直接与服务器进行通讯,可以在不重载页面的情况下与服务器交换数据。
收藏 0 赞 0 分享

关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块好多问题都是属性,方法,事件大小写不区分问题,最终导致了程序运行出现麻烦,下面给大家介绍关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
收藏 0 赞 0 分享

Ajax请求session失效该如何解决

HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定。但是AJAX却是例外的,所以解决方法是设置响应为session失效。
收藏 0 赞 0 分享

编写轻量ajax组件02--浅析AjaxPro

ajaxpro虽然是一个比较老的组件,不过实现思想和源码还是很有借鉴价值的。接下来通过本篇文章给大家介绍编写轻量ajax组件02--浅析AjaxPro,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

编写轻量ajax组件01-与webform平台上的各种实现方式比较

这篇文章主要介绍了编写轻量ajax组件01-与webform平台上的各种实现方式比较,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多