I have a problem with a Javascript file. I am trying to move the file content to an external file. Even the path is OK (I believe) the file simply not working when is called from the external file. Here is the code:
Code:
<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>
The path file is: <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/header.js"></script>
I've deleted <script type="text/javascript"> and </script> in the external file. I've deleted the comments too in the external file but is not working anymore.
If the ext file has <script> and </script>, remove them. The .js file extension tells the browser that it's javascript code.
__________________ ^_^
If anyone knows of a website that can offer ColdFusion help that isn't controlled by neurotic, pedantic jerks* (stackoverflow.com), please PM me with a link.
* The neurotic, pedantic jerks are not the owners; just the people who are in control of the "popularity contest".