Существует два метода для получения ультрасовременного времени, os.path.getmtime () или os.stat (), но ctime не надежен межплатформенный (см. ниже).
getmtime ( путь )
Возврат время последнего изменения пути. Возвращаемое значение является числом, дающим число секунд с эпохи (см. модуль времени). Повысьте os.error, если файл не существует или недоступен. Новый в версии 1.5.2. Измененный в версии 2.3: Если OS stat_float_times () возвраты Правда, результатом является число с плавающей точкой.
статистика ( путь )
Выполняют статистику () системный вызов на данном пути. Возвращаемое значение является объектом, атрибуты которого соответствуют членам структуры статистики, а именно: st_mode (биты защиты), st_ino (inode число), st_dev (устройство), st_nlink (количество жестких ссылок), st_uid (идентификатор пользователя владельца), st_gid (идентификатор группы владельца), st_size (размер файла, в байтах), st_atime (время нового доступа), st_mtime (время новой модификации содержания), st_ctime (зависимый платформы; время новых метаданных изменяется на Unix, или время создания в Windows) :
>>> import os
>>> statinfo = os.stat('somefile.txt')
>>> statinfo
(33188, 422511L, 769L, 1, 1032, 100, 926L, 1105022698,1105022732, 1105022732)
>>> statinfo.st_size
926L
>>>
В вышеупомянутом примере Вы использовали бы statinfo.st_mtime или statinfo.st_ctime для получения mtime и ctime, соответственно.
Используйте плагин hoverIntent . Это позволяет избежать показа всего, если пользователь просто наводит указатель мыши на элементы, и позволяет избежать неприглядной цепочки анимаций.
Я попробовал ваш сценарий, и он сделал, как вы описали. Я попытался удалить children.is (": hidden") из вашего скрипта, но проблема все равно возникла.
Когда я переписывал скрипт, div никогда не оставался видимым. Итак, похоже, что проблема заключается в использовании jQuery потомков вместо find для доступа к объекту:
По-прежнему есть проблемы:
jQuery (
function(){
jQuery(".slideDiv").hide();
jQuery(".mainDiv").hover (
function() {
$(this).children(".slideDiv").show("slide", { direction: "left" }, 100);
},function(){
$(this).children(".slideDiv").hide("slide", { direction: "left" }, 100);
}
);
}
);
Работает по назначению:
$(document).ready(function(){
$('.slideDiv').hide();
$('.mainDiv').hover(
function(){
$(this).find('.slideDiv').show('slide', { direction: 'left' }, 100)
},
function(){
$(this).find('.slideDiv').hide('slide', { direction: 'left' }, 100)
}
)
})
И да, плагин hoverIntent хорош: P