2013-06-26 5 views
0

Am Ищете помощь для решения этой проблемы, я хотел бы создать простой просмотрщик изображений со следующими характеристиками.Как создать просмотрщик изображений JQuery со следующими и обратными кнопками

  • MySQL Fetch изображений
  • пользователя Нажмите одно изображение для просмотра (фото-просмотрщик всплывающее окно, выбранное изображение показано)
  • Пользователь сможет увидеть СЛЕДУЮЩИЙ изображение, нажав СЛЕДУЮЩИЙ
  • Пользователь сможет увидеть ПРЕД изображение, нажав ПРЕД
  • на ESC картинную зрителя закрыто

Поскольку я не очень хорошо в JavaScript Nor JQuery, так что я просто применил базовый код для создания следующего кода, который не может удовлетворить минимальным ожиданиям. Вместо того, чтобы показывать выбранное пользователем изображение, отображается первое изображение из неупорядоченного списка и не работает над IE, если я не применяю автоматический запуск функции, которая мне не нужна. Изображение NEXT/PREV должно отображаться только в том случае, если пользователь нажимает next/prev.

<script language="javascript"> 
$('.ppt li:gt(0)').hide(); 
$('.ppt li:last').addClass('last'); 
$('.ppt li:first').addClass('first'); 
var cur = $('.ppt li:first'); 
var interval; 

$('#fwd').click(function() { 
    goFwd(); 
    showPause(); 
}); 

$('#back').click(function() { 
    goBack(); 
    showPause(); 
}); 

function goFwd() { 
    stop(); 
    forward(); 
    start(); 
} 

function goBack() { 
    stop(); 
    back(); 
    start(); 
} 

function back() { 
    cur.fadeOut(1000); 
    if (cur.attr('class') == 'first') 
     cur = $('.ppt li:last'); 
    else 
     cur = cur.prev(); 
    cur.fadeIn(1000); 
} 

function forward() { 
    cur.fadeOut(1000); 
    if (cur.attr('class') == 'last') 
     cur = $('.ppt li:first'); 
    else 
     cur = cur.next(); 
    cur.fadeIn(1000); 
} 



// close em_picture on esc press 
window.document.onkeydown = function (e) 
{ 
    if (!e){ 
     e = event; 
    } 
    if (e.keyCode == 27){ 
     em_picture_close(); 
    } 
} 

function em_picture_close(){ 
document.getElementById('b1').style.overflow='auto';  
$("#em_picture").hide(); 
    $("#em_viewer").hide(); 
    $(".images_tab").show(); 
    $("#chart").show(); 

} 
    </script> 

HTML

<div id="images_container"> 
<div id="em_picture" style="display:none;"> 
<div id="loadimage"> 
<ul class="ppt"> 
<li><img src="moments/1372072563PH.png" class="imgview" border="0" id="56"></li> 
<li><img src="moments/1372084261art.jpg" class="imgview" border="0" id="3"></li> 
<li><img src="moments/1372084531Hot.jpg" class="imgview" border="0" id="6"></li> 
<li><img src="moments/137207211166.jpg" class="imgview" border="0" id="40"></li> 
</ul> 
<span class="prev" id="back" style="display:none" title="prev image"></span> 
<span class="next" id="fwd" style="display:none" title="next image"></span> 
</div> 
</div> 
</div> 
<!-- table where the first image can be selected to be previewed --> 
<table cellpadding="0" cellspacing="0" border="0" class="imagestable"> 
<tr> 
<td id="" class="album_image"> 
<span class="moments_details" style="display:none;">share . hide . delete</span> 
<img src="moments/1372072563PH02053J.JPG" class="my_em_moments" border="0" id="showme"> 
</td> 
</table> 

для тех, кто может понять это другими способами, пожалуйста, так, уже сделал рабочий код принимается

Спасибо и считает

ответ

0

нормально для Вашего удобства, я eleborating шаг за шагом:

  1. скачать файлы из ссылки.
  2. поместите папку lib и source в другую папку.
  3. поместите свой файл, в котором вы кодируете в той же папке.
  4. место все изображения в той же папке, или везде, где вы хотите разместить их

и написать код, как

<!DOCTYPE html> 
<html> 
<head> 
<title>Picture Gallery</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="lib/jquery-1.10.1.min.js"></script> 
    <script type="text/javascript" src="lib/jquery.mousewheel-3.0.6.pack.js"></script> 
    <script type="text/javascript" src="source/jquery.fancybox.js?v=2.1.5"></script> 
    <link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css?v=2.1.5" media="screen" /> 
    <link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=1.0.5" /> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script> 
    <link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" /> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-media.js?v=1.0.6"></script> 
<script type="text/javascript"> 
$(document).ready(function() 
{ 
     $('.fancybox').fancybox(); }); 
</script> 
<style> 
    .fancybox-custom .fancybox-skin 
    { 
     box-shadow: 0 0 50px #222; 
    } 

    body 
    { 
     max-width: 700px; 
     margin: 0 auto; 
    } 
</style> 

</head> 
<body> 
    <h3>Gallery Style 1</h3> 
    <p> 
     <a class="fancybox" href="1_b.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="1_s.jpg" alt="" /></a> 

     <a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" /></a> 

     <a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" /></a> 

     <a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" /></a> 
    </p> 

</body> 
</html> 
+0

Звуки приветствую сейчас. Думаю, дело в том, что у него достаточно времени, чтобы поиграть с ним, чтобы он соответствовал моему пользовательскому интерфейсу и нажимал next/prev также для получения подробностей/рассказов о картине. Последнее, что я желаю, также удалить скользящие эффекты, эффект затухания и затухания или никакого эффекта будет соответствовать моим потребностям. Но я тоже могу оценить, если вы можете помочь удалить эффекты, чтобы мы могли применять эффект постепенного затухания и исчезновения или даже никакого эффекта. Эффект не должен лежать при обмене с другим, но он должен просто исчезать. Другими словами, я могу сказать, что это работает – codefun

0

Как вы хотите создайте что-то подобное картинной галерее, jQuery fancybox будет лучшим вариантом для него. Простые и то же, что и ваши требования. посмотрите пожалуйста here.

+0

я сделал получить что-нибудь от них, так как нет объяснений – codefun

+0

скачать его здесь http://fancyapps.com/fancybox/#lice nse, и вы также найдете демонстрационный пример. не забудьте отметить ответ, если найдете решение. – Aisha

+0

Я скоро вернусь к вам, я получил файл – codefun

0

хорошо попробовать этот код:

<!DOCTYPE html> 
<html> 
<head> 
<title>Picture Gallery</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="lib/jquery-1.10.1.min.js"></script> 
    <script type="text/javascript" src="lib/jquery.mousewheel-3.0.6.pack.js"></script> 
    <script type="text/javascript" src="source/jquery.fancybox.js?v=2.1.5"></script> 
    <link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css?v=2.1.5" media="screen" /> 
    <link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=1.0.5" /> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script> 
    <link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" /> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script> 
    <script type="text/javascript" src="source/helpers/jquery.fancybox-media.js?v=1.0.6"></script> 
<script type="text/javascript"> 
$(document).ready(function() 
{ 
     $('.fancybox-buttons').fancybox({ 
       openEffect : 'none', 
       closeEffect : 'none', 

       prevEffect : 'none', 
       nextEffect : 'none', 

       closeBtn : false, 

       helpers : { 
        title : { 
         type : 'inside' 
        }, 
        buttons : {} 
       }, 
       afterLoad : function() { 
        this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); 
       } 
      }); }); 
</script> 
<style> 
    .fancybox-custom .fancybox-skin 
    { 
     box-shadow: 0 0 50px #222; 
    } 

    body 
    { 
     max-width: 700px; 
     margin: 0 auto; 
    } 
</style> 

</head> 
<body> 
    <h3>Gallery Style 1</h3> 
    <p> 
     <a class="fancybox-buttons" data-fancybox-group="button" href="1_b.jpg"><img src="1_s.jpg" alt="" /></a> 

     <a class="fancybox-buttons" data-fancybox-group="button" href="2_b.jpg"><img src="2_s.jpg" alt="" /></a> 

     <a class="fancybox-buttons" data-fancybox-group="button" href="3_b.jpg"><img src="3_s.jpg" alt="" /></a> 

     <a class="fancybox-buttons" data-fancybox-group="button" href="4_b.jpg"><img src="4_s.jpg" alt="" /></a> 
    </p> 

</body> 
</html> 
+0

спасибо за рассмотрение ответа, первый код, который вы мне даете, работает лучше, чем я думал после того, как я поиграю с ним. – codefun

0
<script type="text/javascript"> 
       $(document).ready(function(e) { 
        $(".mqimg").mouseover(function() 
        { 
         $("#imgprev").animate({height: "250px",width: "70%",left: "15%"},100).html("<img src='"+$(this).attr('src')+"' width='100%' height='100%' />"); 
        }) 
        $(".mqimg").mouseout(function() 
        { 
         $("#imgprev").animate({height: "0px",width: "0%",left: "50%"},100); 
        }) 
       }); 
       </script> 
       <style> 
       .mqimg{ cursor:pointer;} 
       </style> 
       <div style="position:relative; width:100%; height:1px; text-align:center;"> 
       <div id="imgprev" style="position:absolute; display:block; box-shadow:2px 5px 10px #333; width:70%; height:0px; background:#999; left:15%; bottom:15px; "></div> 
       </div> 
Смежные вопросы