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

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

12.01.2013, 12:32. Показов 2354. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru