在蓝色看到一贴js+AS做的加载图片进度条,效果很不错,
正好最近帮朋友做个主页画册,所以想把它跟discuz官网里面用的那种lightbox图片展示效果结合起来,
就是图片先显示加载进度条,下载100%完成后再用lightbox来展示;
请哪位java高手动手弄一下?我对javascript不熟的说...这是蓝色上的一个帖子:
http://bbs.blueidea.com/thread-2924080-1-1.html  //JS+AS实现真正页面加载图片进度条(带百分比) 这是lightbox的一个效果案例(点击文章里面的图片可以显示效果):
http://www.discuz.net/thread-897809-1-1.html   
另外我将两个例子提取出来了放下面,方便大家使用;
js+as进度条+light图片展示:
http://yanqihu.net/download/JsAs_loading+Lightbox.rar

解决方案 »

  1.   

    http://www.scriptlover.com/controls/shadowbox/
      

  2.   

    1楼的那个例子,虽然虽然漂亮但是不是我想要的,大家请看,
    这个图片加载进度案例是结合flash的as来实现的,有百分比,非常的精准;而不是一个简单转动的gif图片;而且这个图片展示效果也不是我想要的,
    lightbox图片展示效果是可以移动的和缩放的,对客户浏览大图片非常有用:
      

  3.   

    discuz.net那个lightbox效果案例好像已经失效了,我重新弄个在线效果演示给大家吧:
    真希望哪位javascripg高手能把两个效果结合起来;js+as进度加载图片效果演示:
    http://www.yanqihu.net/demo/loadimg/load.htmllightbox图片展示效果演示:
    http://www.yanqihu.net/demo/lightbox/lightbox.html两个案例源文件下载:
    http://yanqihu.net/download/JsAs_loading+Lightbox.rar 
      

  4.   

    lightbox图片展示效果演示: 
    http://www.yanqihu.net/demo/lightbox/lightbox.html 呵呵,你自己测试过没??这个根本就出错
    哪来的lightbox图片展示效果再lightbox基础上加进度条效果其实很简单的
    因为lightbox本身就有一个加载的动画,把加载的动画替换成进度条的调用程序即可
      

  5.   

    http://www.blueidea.com/articleimg/2006/08/3904/lightbox.html
    你看一下这个,看看是不是有一个加载图片的动画,那个只要一换成进度条的调用程序就OK了
      

  6.   

    发现你那个代码应该非常简单才对吧c++;
    if(c <= 5) {
    setTimeout('zoomST(' + c + ')', 1000);
    }
    明显在这里可以做一个进度条的东西
      

  7.   

    我只是给一个例子和思路:
    你的JS里不是有function zoomST(c)函数里面的
    if(c<=5) {
    setTimeout('zoomST(' + c + ')', 1000);
    return;
    } else {
    吗?
    改成
    var img = new Image();
       img.src = "http://www.blueidea.com/articleimg/2006/08/3904/images/image-2.jpg";
    if(!img.width) {
     //if(c<=5) {
    setTimeout('zoomST(' + c + ')', 1000);
    $('zoomimglayer').innerHTML ='<div class="zoominner">'+c+'</div>';
    return;
    } else {
    就可以有一个过程了啊
    你要是想进度条的就把
    if(!img.width) {
     //if(c<=5) {
    setTimeout('zoomST(' + c + ')', 1000);
    $('zoomimglayer').innerHTML ='<div class="zoominner">'+c+'</div>';
    return;
    }
    改为你进度条的即可啊
      

  8.   

    改成我的以后你就会发现
    <div class="zoominner">'+c+'</div>这个在图片没有加载完之前一直显示的他,进度条也是一个道理
      

  9.   

    你导入lightbox的js和css然后修改LoadImageSet.js中的加载完毕后的回调函数就好了,这个js文件都说清楚了
    不过你要注意了lightbox定义了$方法,和jq的$有冲突。。而且你的那个lightbox的背景取值也不得
    //加载完毕后回调函数----回调参数说明:url-传回图片地址值,picDiv-传回所加载图片DIV的ID,w-传回的图片原始宽度,h-传回的图片原始高度
    function picCallBack(url,picDiv,w,h){
    //$(picDiv).innerHTML="  图片高宽象素为:"+w+"*"+h+"<img src='"+url+"' alt=''/>";
    zoom($('loadBtn_1'),url);//这个改为调用lightbox的zoom方法
    }
      

  10.   

    回6楼:http://www.yanqihu.net/demo/lightbox/lightbox.html
    这个地址是可以显示的,而且才是我想要的lightbox效果,跟http://www.blueidea.com/articleimg/2006/08/3904/lightbox.html 
    这个是不同的,它可以移动和缩放;既然大家有想法思路,有没有制作成功实现了的啊?我对javascript真的不懂操作,望把完整代码贴上来,谢谢了啊...
      

  11.   

    大概思路我也是明白的,就是先等前面的函数完成后,
    再把值也就是图片的url地址赋给lightbox的zoom,但是不知道怎么写啊?
      

  12.   

    去这里下载吧,帮你搞好了,去掉了jquery框架。因为和lightbox中定义的$有冲突,反正你也不用jq的功能了,少下载点js文件也好http://country.lvyou168.cn/flashwariii/download.htm
      

  13.   

    太好了!!谢谢showbo!谢谢大家!