2011-11-23 3 views
0

Я хотел бы сделать сайт, на котором я могу представить проект моего клиента. Он архитектор и хочет, чтобы его клиенты могли прокручивать свои здания и проекты.Javascript просматривает фото-коллекцию

Цель состоит в том, чтобы сделать сетку (3 широких, бесконечных) фотографий. На каждом квадрате отображается проект с макс. 12 фото. Я хотел бы показать их таким образом, чтобы пользователи веб-сайта могли щелкнуть изображение и перейти к следующему.
Если пользователь нажимает на другой элемент сетки, тот, который он ранее нажал, должен оставаться в том же состоянии (последняя фотография), как это было раньше.

Фотографии находятся в базе данных и входят в HTML-код array (вот как это сделать, я думаю, верно?). Я думал об использовании URL в качестве ссылки, чтобы сеть узнала, какую фотографию показывать, но это бесполезно, поскольку элемент grid должен помнить свое последнее состояние.

Итак, я понял, что Javascript - это путь. Я много знаю о HTML и PHP, но мои навыки Javascript не являются такими острыми. Может ли кто-нибудь дать мне несколько советов или хитов, как это сделать?

enter image description here

+0

Начните свой путь через учебники jQuery. Это отличная библиотека, которую легко освоить и использовать. Удачи! – maxedison

+0

Хорошо, отличный совет. В частности, у вас есть какие-то учебные пособия, которые я должен проверить? – Michiel

ответ

0

Я нашел свое решение в JQuery Cycle -plugin! Спасибо за усилия, хотя!

1

Это супер простой пример. Вы даже не нуждаетесь в jQuery и можете делать все только в Javascript.

Обновлено Sample
http://jsfiddle.net/qxpEz/2/

Старый образец
http://jsfiddle.net/qxpEz/1/

На вопрос относительно к JQuery вы можете захотеть, чтобы проверить это:
http://docs.jquery.com/Main_Page

JS

/* Close preview on click again */ 
$("#preview").live('click', function(){ 
    $(this).hide(); 
}); 

/* Handle click events on thumbnails */ 
$("img.thumbnail").live('click', function(){ 

    /* Build content for the preview DIV */ 
    $('#preview').html('<img src="' + $('.last_viewed').attr("src") + '" />'); 
    $('#preview').append($(this).parent(".multi_row").html() ); 

    /* Show images in larger size and show the preview DIV*/ 
    $('#preview .thumbnail').removeClass('thumbnail'); 
    $('#preview').show(); 

    // Set classes to identify the last clicked element 
    $('.last_viewed').removeClass('last_viewed'); 
    $(this).addClass('last_viewed'); 
}); 

HTML

<div id="preview"></div> 

<div id="container"> 
    <div class="multi_row"> 
     <img class="thumbnail" src="http://t0.gstatic.com/images?q=tbn:ANd9GcRi-8XnnXwAZmz_5R5LHRHMNlnYYHCP4WqRdu6vhf_ru8wLK9XB3IrNrwix" /> 
     <img class="thumbnail" src="https://encrypted-tbn2.google.com/images?q=tbn:ANd9GcQSlpPGwa7kTdYj4lraTh8-cUwLyPH8z78UxuwER1DvCK1IsgiB8A" /> 
     <img class="thumbnail" src="https://encrypted-tbn1.google.com/images?q=tbn:ANd9GcSDu5E2q1YEjN7EN2dlNUe81CQ6jVe_kcHrUSTRjB0PmG9wn5KA" /> 
    </div> 

    <div class="multi_row"> 
     <img class="thumbnail" src="https://encrypted-tbn1.google.com/images?q=tbn:ANd9GcQvntvFejchqRwv41EqFxEqQAaFvc84xQB72LEmg0IZGM-KsfCZ" />   
     <img class="thumbnail" src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQNMKqnVN0w6gemdm1DXlvCYhlx4DzK7XvyK2zJ2WaP86TUfKuF" />   
     <img class="thumbnail" src="https://encrypted-tbn1.google.com/images?q=tbn:ANd9GcRLBVGB4YSU1ZSx4hTufNxcV8df_qOvHqCVPX9qqnwaFpKF0e9f" /> 
    </div> 
</div> 
+0

Не стесняйтесь упоминать неясные детали или задавать дополнительные вопросы. Я попытаюсь их просмотреть позже. – Smamatti

+0

Хорошо, это отличное начало, но не совсем то, что я ожидал. Я хочу, чтобы вся серия фотографий показывалась каждый раз, когда я нажимаю, а когда нажимаю на другое изображение, первое изображение должно оставаться на последней последней фотографии. – Michiel

+0

@ Michiel Я обновил образец. Я не уверен, что понимаю вас правильно, но может ли это помочь: http://jsfiddle.net/qxpEz/2/ – Smamatti

Смежные вопросы