06.03.2011, 22:20
|
Профессор
|
|
Регистрация: 14.10.2010
Сообщений: 376
|
|
onclick на ссылке
Всем привет) Как изменить содержание параграфа после клика по ссылке?
Делаю так:
function text(a){
<script language="javascript">
function text(){
var a = document.getElementById('par');
a.innerHTML = 'измененный текст параграфа';
}
</script>
<p id="par"></p>
<a href="javascript:void(0)" onclick="text('#par');">Ссылка</a>
<textarea onclick="text()"></textarea>
клик по ссылке не работает, а по полю работает, почему?)
И почему не работает такая конструкция:
<script language="javascript">
function text(a)
{
a.innerHTML = 'измененный текст параграфа';
}
</script>
<p id="par"></p>
<a href="javascript:void(0)"onclick="text('#par');"> сылка</a>
<textarea onclick="text('#par')"></textarea>
|
|
06.03.2011, 22:48
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от (Sandr)
|
почему?
|
У ссылок есть свойство text. В хроме вот это:
<a href="#" onclick="console.log( text ); return false;">Ссылка</a>
выводит в консоль "Ссылка". Не знаю как в других браузерах, но лучше поменять имя функции. Это во-первых.
#par - зачем #??? И как это вообще должно работать?
|
|
06.03.2011, 23:20
|
Профессор
|
|
Регистрация: 14.10.2010
Сообщений: 376
|
|
Сообщение от Sweet
|
У ссылок есть свойство text. В хроме вот это:
<a href="#" onclick="console.log( text ); return false;">Ссылка</a>
выводит в консоль "Ссылка". Не знаю как в других браузерах, но лучше поменять имя функции. Это во-первых.
#par - зачем #??? И как это вообще должно работать?
|
Спасибо за помощь)) Второй случай должен работать, точно также как и первый)) Но это уже не важно, т.к. теперь всё работает)
|
|
08.03.2011, 19:55
|
Профессор
|
|
Регистрация: 14.10.2010
Сообщений: 376
|
|
Появился ещё один вопрос. Чтоб не создавать лишнюю тему, я его сдесь напишу, если никто не против)
Есть скрытая форма на хтмл, после нажатия на ссылку "добавить комментарий", она с помощью $(переменная).animate({блаблабл }); становится видимой, и плавно раскрывается. Но, т.к. эта форма расположена в конце странцы после раскрытия, страница увеличивается, и форма "уезжает" вниз, и пользователю видно только её начало и чтоб увидеть её полностью нужно немного прокрутить страницу вниз. Как сделать так, чтоб после(или во время) раскрытия формы вид фокусировался на ней?
скрины в прикреплённых файлах(на дизайн и текст не обращайте внимания )
|
|
09.03.2011, 08:52
|
Профессор
|
|
Регистрация: 07.01.2011
Сообщений: 582
|
|
$("body").animate({
scrollTop : "+=100px" // Прокрутить вниз на 100 пикселей...
}, 1000); // ... за 1000 мс (1 с)
|
|
09.03.2011, 17:08
|
Профессор
|
|
Регистрация: 14.10.2010
Сообщений: 376
|
|
Сообщение от Matre
|
$("body").animate({
scrollTop : "+=100px" // Прокрутить вниз на 100 пикселей...
}, 1000); // ... за 1000 мс (1 с)
|
Спасибо чувак)
|
|
23.09.2015, 01:19
|
Аспирант
|
|
Регистрация: 07.06.2015
Сообщений: 90
|
|
Если никто не против я здесь спрошу, от добавил к ссылке событие onclick
<a onclick="dell(1);" href="javascript:void(0)" id="1">Удалить</a>
Добавил обработчик
$(function() {
//функция которая удаляет
function dell(i){
alert("hellow");
alert(i);
};
});
Кликаю по ссылке и ниче не рабобтает, как сделать чтобы работало?
|
|
23.09.2015, 02:51
|
Аспирант
|
|
Регистрация: 07.06.2015
Сообщений: 90
|
|
В общем разобрался, сделал через класс, а почему у меня функция только один первый раз вызывается, а потом когда я второй раз кликаю по ссылке она больше не вызывается, вот ссылка и функция
<a href="javascript:void(0)" class="kkk" id="2">Удалить</a>
$(".kkk").click(function() {
alert("hellow world");
//1 получаем массивы элементов
/* alert(this.id);
var a=$("#menu a");
var c=$("#content div");
// alert(this.id);
a[this.id].remove();
c[this.id].remove();*/
ff();
});
После вызова функции ff(); alert("hellow world") уже не выводится, в чем проблема? Функция ff() ниче не меняет, просто заново генерирует два блока из третьего.
Что может происходить, почему после вызова ff() перестает вызываться обработчик?
|
|
23.09.2015, 03:48
|
Аспирант
|
|
Регистрация: 07.06.2015
Сообщений: 90
|
|
От полностью код, обработчик клик один раз вызывается, остальные разы не реагирует че так?
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#edit > p:after{
content: "Переместить";
margin-left: 10px;
}
#edit {
width: 500px;
}
#menu a{
margin: 5px;
}
#block a{
margin: 5px;
}
.block{
background-color:red;
}
#content a{
margin: 5px;
}
</style>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(function() {
function ff()
{
//1 получаем массивы элементов
var a=$("#menu a");
var c=$("#content div");
//var d=new Array();
var d=[];
//2. обходим элементы в цикле
for(i=0;i<c.length;i++)
{
var z=$("</p>",{//создаем параграф
data: {
b: "b"
}
});
//создаем ссылку
var hr=$("<a/>",{
id: i,
class: "kkk",
text: "Удалить",
href: "javascript:void(0)",
});
z.append([hr]);//добавляем в параграф
d[i]=z;
}
$("#edit").text("");
$("#edit").append(d);
}
ff();
//функция сотрировки
$("#edit").sortable({
stop: function(a, b) {
var c = $.map($("#edit p"), function(a,k) {
return $(a).data("b")
});
var d = $.map($("#edit p"), function(a,k) {
return $(a).data("bb")
});
$("#menu").append(c);
$("#content").append(d);
// ff();
}
});
$("#select").change(function() {
if ($("#select option:selected").val() == 'textarea') {
$("#options").html('text: <textarea id="textarea"></textarea>');
}
if ($("#select option:selected").val() == 'img') {
$("#options").html('link: <input id="image">');
}
});
$(".kkk").click(function() {
// alert("hellow world");
//1 получаем массивы элементов
alert(this.id);
var a=$("#menu a");
var c=$("#content div");
alert(this.id);
a[this.id].remove();
c[this.id].remove();
ff();
});
});
</script>
</head>
<body>
<div id="menu">
<a href="#dfdf">1df</a>
<a href="#fgg44">2fsdfsd</a>
<a href="#Df324">3dsfdsf</a>
</div>
<hr>
<div id="content">
<div id="dfdf">12</div>
<div id="fgg44">45yth</div>
<div id="Df324">64h<b>eh</b>w</div>
</div>
<hr>
<div id="edit"></div>
<hr>
<br>
</body>
</html>
|
|
23.09.2015, 03:50
|
Аспирант
|
|
Регистрация: 07.06.2015
Сообщений: 90
|
|
Я один элемент могу только удалить, потом ниче не выходит???
После вызова функции ff в обработчике перестает работать, как это исправить и почему так?
так что никто не знает?
Последний раз редактировалось ninja2, 23.09.2015 в 18:18.
|
|
|
|