04.02.2015, 21:27
|
Новичок на форуме
|
|
Регистрация: 02.07.2014
Сообщений: 5
|
|
установить href атрибута используя Attr()
Здравствуйте, помогите исправить код. Нужно в строке 109
' <a href="'+(item.origLink || item.link[0].href || item.link)+'" target="_blank">[читать]</a>'
установить href атрибута используя Attr().
/* Configuration: */
var tabs = {
"@vgs" : {
"feed" : "",
"function" : rss
}
}
var totalTabs;
$(document).ready(function(){
totalTabs=0;
$.each(tabs,function(){totalTabs++;})
$('#feedWidget').show().mouseleave(function(){
$('.dropDownList').remove();
$('#activeTab').removeClass('hover');
}).mouseenter(function(){
if(totalTabs>1) $('#activeTab').addClass('hover');
});
$('#activeTab').click(showDropDown);
$('.dropDownList div').live('click',function(){
showDropDown();
showTab($(this).text());
});
showTab('@vgs');
});
function showTab(key)
{
var obj = tabs[key];
if(!obj) return false;
var stage = $('#tabContent');
var query = "select * from feed where url='"+obj.feed+"' LIMIT 10";
var url = "https://***/v1/public/yql?q="+encodeURIComponent(query)+"&format=json&callback=?";
$.getJSON(url,function(data){
stage.empty();
$.each(data.query.results.item || data.query.results.entry,function(){
try{
stage.append(obj['function'](this));
}
catch(e){
var f_name =obj['function'].toString().match(/function\s+(\w+)\(/i);
if(f_name) f_name = f_name[1];
stage.append('<div>There is a problem with your '+f_name+ ' function</div>');
return false;
}
})
});
$('#activeTab').text(key);
}
function showDropDown()
{
if(totalTabs<2) return false;
if($('#feedWidget .dropDownList').length)
{
$('.dropDownList').slideUp('fast',function(){ $(this).remove(); })
return false;
}
var activeTab = $('#activeTab');
var offsetTop = (activeTab.offset().top - $('#feedWidget').offset().top )+activeTab.outerHeight() - 5;
var dropDown = $('<div>').addClass('dropDownList').css({
'top' : offsetTop,
'width' : activeTab.width()
}).hide().appendTo('#feedWidget')
$.each(tabs,function(j){
if(j==activeTab.text()) return true;
$('<div>').text(j).appendTo(dropDown);
})
dropDown.slideDown('fast');
}
function rss(item)
{
return $('<div>').html(
formatString(item.title.content || item.title)+
' <a href="'+(item.origLink || item.link[0].href || item.link)+'" target="_blank">[читать]</a>'
);
}
function formatString(str)
{
str = str.replace(/<[^>]+>/ig,'');
str=' '+str;
return str;
}
Последний раз редактировалось JleHuH213, 04.02.2015 в 21:45.
|
|
04.02.2015, 21:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
JleHuH213,
это кнопа для js
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
04.02.2015, 22:20
|
Новичок на форуме
|
|
Регистрация: 02.07.2014
Сообщений: 5
|
|
Спасибо, поправил!
|
|
04.02.2015, 22:36
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
JleHuH213,
а в чём смысл смены установки?
|
|
04.02.2015, 22:41
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
JleHuH213,
$('<a/>', {
href: item.origLink || item.link[0].href || item.link,
target: '_blank',
text: '[читать]'
})
|
|
05.02.2015, 00:33
|
Новичок на форуме
|
|
Регистрация: 02.07.2014
Сообщений: 5
|
|
Сообщение от рони
|
JleHuH213,
$('<a/>', {
href: item.origLink || item.link[0].href || item.link,
target: '_blank',
text: '[читать]'
})
|
Смысл в том что учусь использовать, но что то не выходит. По вашему варианту вместо положенной ссылки "[читать]" выводит "[object Object]"
|
|
05.02.2015, 00:53
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
JleHuH213,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function() {
function formatString(str) {
str = str.replace(/<[^>]+>/ig, "");
str = " " + str;
return str
}
var item = {
link: "http://javascript.ru/",
title: "123 456"
};
var temp = $("<div>", {
html: $("<a/>", {
href: item.origLink || item.link[0].href || item.link,
target: "_blank",
text: "[читать]"
})
});
$("<div>", {
html: formatString(item.title.content || item.title) + temp.html()
}).appendTo("body")
});
</script>
</head>
<body>
</body>
</html>
|
|
05.02.2015, 00:59
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
JleHuH213,
или так
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function() {
function formatString(str) {
str = str.replace(/<[^>]+>/ig, "");
str = " " + str;
return str
}
var item = {
link: "http://javascript.ru/",
title: "123 456"
};
var temp = $("<a/>", {
href: item.origLink || item.link[0].href || item.link,
target: "_blank",
text: "[читать]"
})
$("<div>", {
html: formatString(item.title.content || item.title)
}).append(temp).appendTo("body")
});
</script>
</head>
<body>
</body>
</html>
|
|
05.02.2015, 14:36
|
Новичок на форуме
|
|
Регистрация: 02.07.2014
Сообщений: 5
|
|
Спасибо большое ваш код очень помог мне и я решил проблему!
|
|
|
|