Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88

динамическая выгрузка файлов из папки на сервере

12.01.2013, 12:32. Показов 2380. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, получилась вот такая неприятная ситуация. С помощью jquery + php сделал страницу, на которую автоматически выводятся картинки из папки на сервере (т.е. все картинки, лежащие в папке не зависимо от их числа добавляются на страницу). Но вот беда, эти картинки не реагируют на события мыши типа hover или click. Когда добавляю их просто (прописывая в html документе пути к ним через теги <img>) все окей- тот же javascript код работает и все ок. Если посмотреть исходный код страницы после динамической выгрузки из папки - все так же само как если бы я добавил все файлы ручками, что не так? почему не пашет? долго бился над этим, но не могу понять.
Ниже привожу код.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$path = 'images';
$d = dir($path);
if ($d) {
    $files = array();
    while (false !== ($name = $d->read())) {
        if ($name === '.' || $name === '..') continue;
        $fullName = $path . "/" . $name;
        if (is_file($fullName)) $files[] = $name;
    }
    $d->close();
    echo '["'.implode('","', $files).'"]';
}
 
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$(function() {
        $.getJSON('filereader.php', function(data){
            for(var i=0; i<data.length; i++){
                $("#pictures").append("<div class='smp'><img src='images/"+data[i]+"'/></div>");
            }
        });
});
 
$(function(){
    $('.smp img').hover(function(){
            $(this).stop().animate({width:"100px",height:"100px",left:"-25px",top:"-25px"}, 400);
            $(this).css("cursor", "pointer");
        },
        function(){
            $(this).stop().animate({width:"70px",height:"70px",left:"0",top:"0"}, 400);
            $(this).css("cursor", "pointer");
        });
});
ну и сама страница:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>myGal</title>
    <link rel="stylesheet" type="text/css" href="css.css">
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jush.js"></script>
    <script type="text/javascript" src="javascript.js"></script>
</head>
<body>
<div>
    <div id="page">
        <h2>Welcome to gallery</h2>
        <div id="pictures">
          <!--  <div class="smp"><img src="images/1.jpg"></div>-->
        </div>
        <div id="next"><img src="png/next.png"></div>
        <div id="prev"><img src="png/prev.png"></div>
    </div>
</div>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2013, 12:32
Ответы с готовыми решениями:

Удаление файлов из папки на сервере
Всем привет! Возникла огромная проблема. Вообщем, имеет ftp сервер, на нем 2 папки &quot;Информация&quot; и &quot;все документы&quot; ...

Загрузка всех файлов из папки на сервере
Вообщем как мне реализовать чтобы не 1 файл качался а качались все из папки на сервере?

Автообновление списка файлов из папки на ФТП сервере
Не смог найти поиском, так что если повтор, извините. Имеется List элементы которого - это файлы из папки на фтп сервере, в свою очередь...

7
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
14.01.2013, 13:11  [ТС]
ап! ребята, спасайте!
0
55 / 55 / 8
Регистрация: 29.08.2012
Сообщений: 175
14.01.2013, 13:32
JavaScript
1
2
3
4
5
6
7
8
$('body').on('click', '.smp img', function(){
            $(this).stop().animate({width:"100px",height:"100px",left:"-25px",top:"-25px"}, 400);
            $(this).css("cursor", "pointer");
        });
$('body').on('click', '.smp img', function(){
            $(this).stop().animate({width:"70px",height:"70px",left:"0",top:"0"}, 400);
            $(this).css("cursor", "pointer");
        });
вместо hover
1
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
14.01.2013, 13:41  [ТС]
Отлично, все работает, спасибо огромное, но почему у меня работал мой вариант когда я вручную прописывал, а тут не пашет? объясните новичку, если не сложно.
0
55 / 55 / 8
Регистрация: 29.08.2012
Сообщений: 175
14.01.2013, 13:54
потому что hover() и прочие подобные функции JQuery навешивают обработчики только на уже готовые DOM объекты, игнорируя динамически создаваемые объекты. Функция on() следит за созданными, либо вновь-созданными объектами, динамически навешивая обработчики исходя из указанного в параметре селектора.
1
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
14.01.2013, 16:03  [ТС]
Ага, понял, спасибо большое за объяснение.

Добавлено через 23 минуты
И еще 1 вопрос. В моем коде я отлавливал наведение мышью с помощью hover, а когда мышь отводилась- просто выполнялась функция, которая шла после hover через запятую. Как отловить "потерю" мыши в данном случае?
Пробовал так - не выходит

JavaScript
1
2
3
4
5
6
7
8
9
$(function(){
    $('body').on('hover', '.smp img', function(){
        $(this).stop().animate({width:"100px",height:"100px",left:"-25px",top:"-25px"}, 400);
        $(this).css("cursor", "pointer");
    },function(){
        $(this).stop().animate({width:"70px",height:"70px",left:"0",top:"0"}, 400);
        $(this).css("cursor", "pointer");
    });
});
Добавлено через 1 час 36 минут
получилось сделать так:

JavaScript
1
2
3
4
5
6
7
8
$('body').on('mouseenter', '.smp img', function(){
        $(this).stop().animate({width:"100px",height:"100px",left:"-25px",top:"-25px"}, 400);
        $(this).css("cursor", "pointer");
    });
    $('body').on('mouseleave', '.smp img',   function(){
        $(this).stop().animate({width:"70px",height:"70px",left:"0",top:"0"}, 400);
        $(this).css("cursor", "pointer");
    });
0
55 / 55 / 8
Регистрация: 29.08.2012
Сообщений: 175
14.01.2013, 17:20
Не могу сказать.. Попробуй повесить через on 2 обработчика на hover по очереди.
0
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
15.01.2013, 11:13  [ТС]
Я по-разному попробовал, через ховер не вышло никак, перепробовал даже самые абсурдные варианты, но не вышло. Получилось только так, как написал выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2013, 11:13
Помогаю со студенческими работами здесь

Outlook Vba/ Создание папки по названию темы и выгрузка туда прикрепленных файлов к письму
Доброго времени суток, помогите решить следующую задачу. В оутлуке создана папка, куда я скидываю письма. таких писем порядка ста штук. в...

Загрузка всех файлов из заданной папки на FTP-сервере
Всем привет! Короче проблема такова: я хочу скачать все файлы из конкретной папки на FTP в туже директорию где мы. Вот мой скрипт: ...

Получить список файлов из заданной папки на FTP-сервере
Программа должна: 1)Подключаться к заданному FTP-серверу с указанным логином и паролем (сделано) 2)Получать список файлов из...

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот это) - Копирование всех файлов с...

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот это) - Копирование всех файлов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru