Mutare cod javascript intr-un fisier extern
Vreau sa mut un cod javascript intr-un fisier extern. Problema e ca site-ul nu vrea sa mai afiseze pagina unde apare codul in mod corect, ca si cum nu ar functiona.
Codul este:
Cod:
<script type="text/javascript">
// function that writes the list order to a cookie
function saveOrder() {
$(".column").each(function(index, value){
var colid = value.id;
var cookieName = "cookie-" + colid;
// Get the order for this column.
var order = $('#' + colid).sortable("toArray");
// For each portlet in the column
for ( var i = 0, n = order.length; i < n; i++ ) {
// Determine if it is 'opened' or 'closed'
var v = $('#' + order[i] ).find('.portlet-content').is(':visible');
// Modify the array we're saving to indicate what's open and
// what's not.
order[i] = order[i] + ":" + v;
}
$.cookie(cookieName, order, { path: "/", expiry: new Date(2012, 1, 1)});
});
}
// function that restores the list order from a cookie
function restoreOrder() {
$(".column").each(function(index, value) {
var colid = value.id;
var cookieName = "cookie-" + colid
var cookie = $.cookie(cookieName);
if ( cookie == null ) { return; }
var IDs = cookie.split(",");
for (var i = 0, n = IDs.length; i < n; i++ ) {
var toks = IDs[i].split(":");
if ( toks.length != 2 ) {
continue;
}
var portletID = toks[0];
var visible = toks[1]
var portlet = $(".column")
.find('#' + portletID)
.appendTo($('#' + colid));
if (visible === 'false') {
}
}
});
}
// function that writes the list order to a cookie
// set the list selector
var setSelector = "ul.widgets";
// set the cookie name
var setCookieName = "listOrder";
// set the cookie expiry time (days):
var setCookieExpiry = 7;
// function that writes the list order to a cookie
function getOrder_s() {
// save custom order to cookie
$.cookie(setCookieName, $(setSelector).sortable("toArray"), { expires: setCookieExpiry, path: "/" });
}
// function that restores the list order from a cookie
function restoreOrder_s() {
var list = $(setSelector);
if (list == null) return
// fetch the cookie value (saved order)
var cookie = $.cookie(setCookieName);
if (!cookie) return;
// make array from saved order
var IDs = cookie.split(",");
// fetch current order
var items = list.sortable("toArray");
// make array from current order
var rebuild = new Array();
for ( var v=0, len=items.length; v<len; v++ ){
rebuild[items[v]] = items[v];
}
for (var i = 0, n = IDs.length; i < n; i++) {
// item id from saved order
var itemID = IDs[i];
if (itemID in rebuild) {
// select item id from current order
var item = rebuild[itemID];
// select the item according to current order
var child = $("ul.widgets.ui-sortable").children("#" + item);
// select the item according to the saved order
var savedOrd = $("ul.widgets.ui-sortable").children("#" + itemID);
// remove all the items
child.remove();
// add the items in turn according to saved order
// we need to filter here since the "ui-sortable"
// class is applied to all ul elements and we
// only want the very first! You can modify this
// to support multiple lists - not tested!
$("ul.widgets.ui-sortable").filter(":first").append(savedOrd);
}
}
}
$(function() {
/* various widget actions */
$('.minimize').click(function() {
$(this).parent('h3').next('.container').toggle();
});
$('.Sminimize').click(function() {
$(this).parent('h2').next().toggle();
});
$('.Wminimize').click(function() {
$(this).parent('h2').next().toggle();
});
$('.close').click(function() {
$(this).parent('h3').parent('.cat-widget').fadeOut('slow');
$.cookie($(this).parent('h3').parent('.cat-widget').attr('id'), 'closed', { path: '/', expires: 100 });
return false;
});
$('.Sclose').click(function() {
$(this).parent('h2').parent().fadeOut('slow');
$.cookie($(this).parent('h2').parent('.box_a').attr('id'), 'closed', { path: '/', expires: 100 });
return false;
});
$('.Wclose').click(function() {
$(this).parent('h2').parent().fadeOut('slow');
$.cookie($(this).parent('h2').parent('li').attr('id'), 'closed', { path: '/', expires: 100 });
return false;
});
$('.cat-widget').each( function() {
var cat_ID = $(this).attr('id');
if ($.cookie(cat_ID) == 'closed') $(this).hide();
});
$('.box_a').each( function() {
var box_ID = $(this).attr('id');
if ($.cookie(box_ID) == 'closed') $(this).hide();
});
$('.widgets li').each (function() {
var sidebar_ID = $(this).attr('id');
if ($.cookie(sidebar_ID) == 'closed') $(this).hide();
});
// more stories
$('ul.more_stories li').css({'display': 'none'});
$("ul.more_stories").each(function(){
$(this).children('li').slice(0, <?php echo $comfy['moreitems']; ?>).show();
});
/* control visible stories */
$('.minus').click(function() {
$(this).parent().next('ul').children('li:visible:last').hide();
});
$('.plus').click(function() {
$(this).parent().next('ul').children('li:hidden:first').show();
});
// append top menu
$("#topnav ul:first").prepend('<li class="left"></li>');
$("#topnav ul:first").append('<li class="right"></li>');
// featured 1
$("span.overlay").fadeTo(1, 0.70);
$("ul.items").tabs(".pane", {
effect: "fade",
fadeInSpeed: 500,
fadeOutSpeed: 500,
rotate: true
}).slideshow({autoplay: true, interval: 4000, clickable: false});
// featured 2
$("ul.featuredposts").tabs(".featuredposts_content", {
effect: "default",
rotate: true
}).slideshow({autoplay: true, interval: 4000, clickable: false});
});
</script>
Am sters <script type="text/javascript"> </script> din fisierul extern + comentariile care exista. Locatia fisierului este accesibila din cod:
Cod:
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/header.js"></script>
Ceva idei? De ce nu functioneaza? Am uitat ceva? Menfionez ca sunt aproximativ paralel cu Javascriptul. :(