2011-10-15 1 views
0

У меня есть http://communitychessclub.com с примерно 20-30 меньшими jpeg, разбросанными по всему сайту. Я хочу щелкнуть по изображению и иметь простое изображение на большом изображении. Проблема в том, что я не хочу использовать отдельные сценарии для каждого эскиза. Я просто хочу передать высоту и ширину каждого jpeg для одного простого шаблона. Похоже, что было бы быстрее, если бы компьютер знал, что делать без поиска скрипта для каждого связанного с ним изображения. Может быть, я мог бы передать высоту и ширину CSS с «OnClick = ... и т.д.один простой модный сценарий для обработки изображений

http://chesstao.com/test-2.php страница образца.

это возможно ли? Что я должен делать?

<a href="images/aveskulov-medium.jpg" class="photo" />pic-1</a> 
<a href="images/Jeff%20Plew.jpg" class="photo" />pic-2</a> 

<!-- new code which works, but modal isn't centered V or H--> 

<script> 
    $(document).ready(function(){ 
    $(".photo").click(function(e) { 
     var hrefval= $(this).attr("href"); 
     $.modal('<img src=" ' + hrefval + '">', { 
     containerCss: {autoPosition:'true'}, 
     overlayClose: true 
     }); 
     e.preventDefault(); 
    }); 
    }); 
</script> 
+0

Является ли каждый образ разного размера и будут ли модификации версии больше, чем нажатые на версии? – dSquared

+0

Да. Изображения различаются по размеру, а модальность будет больше, чем изображения с эскизами, на которые можно щелкнуть. – verlager

ответ

1

Ваш код на самом деле выглядит хорошо, есть только некоторые простые опечатки, которые нужно исправить, чтобы сделать его работу:

  1. вы никогда не закроете вызов $.modal остроумия h a final ).
  2. Фактически вы не закрываете функцию $(document).ready.

Вот фиксированная версия:

<script> 
    $(document).ready(function(){ 
    $(".photo").click(function(e) { 
     var hrefval= $(this).attr("href"); 
     $.modal('<img src=" ' + hrefval + '">', { 
     containerCss: { height:'auto',width:'auto'}, 
     overlayClose: true 
     }); 
     e.preventDefault(); 
    }); 
    }); 
</script> 

И a working jsFiddle

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

Кроме того, используя консоль javascript, когда вы делаете такую ​​разработку, вы можете увидеть сообщения об ошибках от опечаток, таким образом вы узнаете, есть ли ваша концепция, или если отсутствует символ, предотвращающий ваш код из выполняются.

+0

Левый край находится в центре, что является неправильным. Мне может потребоваться добавить: modal.setPosition(); но я не уверен, куда он идет. – verlager

+0

Я думаю, что проблема заключается в том, что изображение не было загружено перед отображением, поэтому 'simpleModal' выравнивает себя для изображения размера 0x0. Причина, по которой я предполагаю, это потому, что если вы откроете их, как только они выглядят неправильно, но во второй раз, когда я нажимаю ссылки, модальное представление выглядит правильно. Я вижу, что вы передаете высоту и ширину в параметр 'containerCss', вы можете попробовать передать те же значения в' minHeight' и 'minWidth' в параметрах, поэтому' containerCss: {// etc}, minHeight : 123, minWdith: 123' –