2013-04-30 3 views
1

Я хочу, чтобы выделить текущую '#ID' фрагмент:Как выделить текущий элемент ID в HTML

Как если URL является: http://localhost:4321/store/zapakshop/#943

затем ID = 943 должен быть выделен ..

Я попытался это, но он не работает:

$(document).ready(function() { 
    $(window.location.hash).effect("highlight", { 
     color: "#FF0000" 
    }, 3000);  
    }); 

Помощь мне ...

+0

Что такое метод '.effect()'? –

+0

да я знаю, что это неправильно .... я попробовал что-то, что нашел в сети ... –

+2

@ArtyomNeustroev Я предполагаю, что это http://jqueryui.com/effect/ –

ответ

3

Yes it is working but it is changing the color permanently i just want a flash... – user2217267

Snook имеет прекрасный пример этого с CSS3. Вот рабочий пример, адаптированный с этой страницы:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 

<style type="text/css" media="all"> 
:target { 
    -webkit-animation: target-fade 3s 1; 
    -moz-animation: target-fade 3s 1; 
} 

@-webkit-keyframes target-fade { 
    0% { background-color: rgba(0,0,0,.1); } 
    100% { background-color: rgba(0,0,0,0); } 
} 

@-moz-keyframes target-fade { 
    0% { background-color: rgba(0,0,0,.1); } 
    100% { background-color: rgba(0,0,0,0); } 
} 
</style> 

</head> 

<body> 
<p>Click the link to <a href="#goal">target the div</a>. 


<div id="goal">This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. This is the div. </div> 

</body> 
</html> 
4

Вы должны включить Jquery UI после того, как вы включили сам JQuery:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> 
+0

Это единственный разумный ответ здесь, +1 – billyonecan

+0

Это подчеркивает полный URL-адрес, требование просто выделить '943' – Bryan

+0

Теперь консоль показывает эту ошибку' Uncaught TypeError: функция объекта (селектор, контекст) { \t \t// Объект jQuery на самом деле является только конструктором init 'extended' \t \t return new jQuery.fn.init (селектор, контекст); \t} не имеет метода 'isPlainObject'' –

0

Вы можете использовать псевдо класс цели в вашем CSS. Это подчеркивает элемент с идентификатором, который в настоящее время присутствует в качестве хэша в URL-адресе.

*:target { 
    background-color: yellow; 
} 

MDN: https://developer.mozilla.org/en-US/docs/css/%3Atarget

0

Если вы просто применять стиль к элементу с тем же идентификатором хэш в вашем URL, вы можете сделать это с помощью селектора target псевдо:

:target { 
    color:#f00; 
} 

http://css-tricks.com/almanac/selectors/t/target/

Sacha избил меня, но я оставлю свою ссылку на статью о трюках CSS, которая объясняет это p seudo селектор так хорошо.

+0

Да, он работает, но он постоянно меняет цвет, я просто хочу вспышку ... –

+0

вы можете мне помочь ...? –

+0

Вы знаете, способны ли браузеры, необходимые для поддержки, переходы? См. Http://caniuse.com/#feat=css-transitions –

0

Я сделал это с помощью

document.getElementById(id).style.outline = 'red solid 3px'; 

это работает для всех элементов, которые имеют контур (как текстовое поле). Если вы хотите прошить это на 100 мс, следующая строка может быть:

window.setTimeout(unoutline, 100); 

и вы будете определять функцию unoutline так:

function unoutline() 
{ 
    document.getElementById(id).style.outline = ''; 
} 

Вы можете увидеть код в действии на http://www.staerk.de/regex ,

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