• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1060
  • Last Modified:

scroll mini html table vertically

I have a web page that data scrolls up and down I also need a page that scrolls data vertically
I have a plugin http://wmh.github.io/jquery-scrollbox/ that shows right to left and left to right is what I want but I insert code and data doesn't move.I need >>>>>>>>>>>> then <<<<<<
 The website displayed this to scroll left to right or Left direction: 'h',
  distance: 140,
  queue: 'demo6-queue'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NBA GAME LOG</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="jquery.scrollbox.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$.ajax({
		url: 'nba.xml',
		dataType: "xml"
	}).done(function(data) {
		$('game', data).each(function(i, game) {
			newGame = $('#gameTemplate').clone().removeAttr('id');
			
			$('.awayLogo', newGame).html( $('<img>').attr('src', 'http://powerzsoftware.com/nbalogos/' + $('vteamid', game).text() + '.png') );
			$('.awayTeam', newGame).html( $('vteam', game).text() );
			$('.awayScore', newGame).html( $('vscore', game).text() );

			$('.homeLogo', newGame).html( $('<img>').attr('src', 'http://powerzsoftware.com/nbalogos/' + $('hteamid', game).text() + '.png') );
			$('.homeTeam', newGame).html( $('hteam', game).text() );
			$('.homeScore', newGame).html( $('hscore', game).text() );

			$('.gameStatus', newGame).html( $('status', game).text() );
var newLink = $('<a>')
    .attr('href', 'http://dev.sportsnetwork.com/aspdata/nba2/Default.aspx?gameID=' + $('game_id', game).text() )
    .text( $('status', game).text() );

$('.gameStatus', newGame).html( newLink );
			$('#games ul').append( $('<li>').append(newGame) );
		});
		
		$('#games').scrollbox({
			
});

	});
});



</script>
<style type="text/css" media="screen">
#games {
	width: 225px;
	height: 400px;
	overflow: hidden;
}
#games {
	width: 365px;
	height: 300px;
	overflow: hidden;
	background-color: #FF9;
}
#games ul { padding: 0px; list-style-type:none; }

	#gameTemplate { display:none; }
	.gameLog { width: 222px; border-collapse:collapse; margin-bottom: 10px; }
	.gameLog td { text-align: center;  border: }
	.gameLog col:nth-child(1) { width: 50px; }
	.gameLog col:nth-child(2) { width: 155px;  }
	.gameLog col:nth-child(3) { width: 32px; }	
	.awayLogo img, .homeLogo img { width: 32px; height: 32px; }


#listing {
	position: absolute;
	width: 370px;
	height: 416px;
	z-index: 15;
	left: 382px;
	top: 8px;
}
</style>
</head>

<body>
		
<div id="games">
	<ul></ul>
</div>
<p><img src="http://dev.sportsnetwork.com/aspdata/Gamescast/Images/TSN.png" width="200" height="150"><img src="http://dev.sportsnetwork.com/aspdata/Gamescast/Images/insideNBA.png" width="200" height="150"></p>
<table id="gameTemplate" class="gameLog">
  <colgroup><col><col><col></colgroup>
	<tr>
		<td class="awayLogo"></td>
		<td class="awayTeam"></td>
		<td class="awayScore"></td>
	</tr>
	<tr>
		<td class="homeLogo"></td>
		<td class="homeTeam"></td>
		<td class="homeScore"></td>
	</tr>
	<tr>
		<td colspan="3" class="gameStatus"></td>
	</tr>
</table>
		
</body>
</html>

Open in new window

NBA.xml
jquery.scrollbox.js
DailyNBA.html
0
powerztom
Asked:
powerztom
1 Solution
 
Robert SchuttSoftware EngineerCommented:
If I understand correctly and you want to change vertical to horizontal scrolling, what you need to do (looking at their example), is make sure the list items are beside each other and the ul is wide enough.

Try this in the css:
#games {
	/*width: 100%;*/
	width: 666px;
	height: 140px;
	overflow: hidden;
	background-color: #FF9;
}
#games ul { padding: 0px; list-style-type:none; }
#games ul li { display: inline-block; height: 100px; width: 222px; }

Open in new window

and change your scrollbox() call to:
		$('#games ul').css('width', (222 * $('#games ul li').length)+'px');
		$('#games').scrollbox({
			direction: 'h',
			distance: 222,
			delay: 1
		});

Open in new window

The 'queue' is a special option where new items are added dynamically. This could be needed if the xml file gets updated but might not be easily combined with the next point which I decided to have a go at.

If you want to ping-pong left and right as you described then some more code is needed. Note that in this code I also decided to define the number of items next to each other (tableWidth = 3), using it to set the width of the div dynamically and also using it to decide when to start moving backward.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NBA GAME LOG</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="jquery.scrollbox.js"></script>
<script type="text/javascript">

var tableLength, tablePos = 0, tableWidth = 3, tableTriggerDirection = 1;

$(document).ready(function() {
  $.ajax({
    url: 'nba.xml',
    dataType: "xml"
  }).done(function(data) {
    $('game', data).each(function(i, game) {
      newGame = $('#gameTemplate').clone().removeAttr('id');
      
      $('.awayLogo', newGame).html( $('<img>').attr('src', 'http://powerzsoftware.com/nbalogos/' + $('vteamid', game).text() + '.png') );
      $('.awayTeam', newGame).html( $('vteam', game).text() );
      $('.awayScore', newGame).html( $('vscore', game).text() );

      $('.homeLogo', newGame).html( $('<img>').attr('src', 'http://powerzsoftware.com/nbalogos/' + $('hteamid', game).text() + '.png') );
      $('.homeTeam', newGame).html( $('hteam', game).text() );
      $('.homeScore', newGame).html( $('hscore', game).text() );

      $('.gameStatus', newGame).html( $('status', game).text() );

      var newLink = $('<a>')
      .attr('href', 'http://dev.sportsnetwork.com/aspdata/nba2/Default.aspx?gameID=' + $('game_id', game).text() )
      .text( $('status', game).text() );

      $('.gameStatus', newGame).html( newLink );
      $('#games ul').append( $('<li>').append(newGame) );
    });

    tableLength = $('#games ul li').length;
    $('#games').css('width', (222 * tableWidth)+'px');
    $('#games ul').css('width', (222 * tableLength)+'px');
    
    $('#games').scrollbox({
      direction: 'h',
      distance: 222,
      autoPlay: false
    });

    setInterval(function () {
      $('#games').trigger(tableTriggerDirection == 1 ? 'forward' : 'backward');
      tablePos += tableTriggerDirection;
      if (tablePos == 0 || tablePos == tableLength - tableWidth) {
        tableTriggerDirection = -tableTriggerDirection;
      }
    }, 1000);

  });
});

</script>
<style type="text/css" media="screen">
#games {
  height: 120px;
  overflow: hidden;
  background-color: #FF9;
}
#games ul { padding: 0px; list-style-type:none; }
#games ul li { display: inline-block; height: 100px; width: 222px; }

  #gameTemplate { display:none; }
  .gameLog { width: 222px; border-collapse:collapse; margin-bottom: 10px; }
  .gameLog td { text-align: center;  border: }
  .gameLog col:nth-child(1) { width: 50px; }
  .gameLog col:nth-child(2) { width: 155px;  }
  .gameLog col:nth-child(3) { width: 32px; }	
  .awayLogo img, .homeLogo img { width: 32px; height: 32px; }


#listing {
  position: absolute;
  width: 370px;
  height: 416px;
  z-index: 15;
  left: 382px;
  top: 8px;
}
</style>
</head>

<body>
    
<div id="games">
  <ul></ul>
</div>
<p><img src="http://dev.sportsnetwork.com/aspdata/Gamescast/Images/TSN.png" width="200" height="150"><img src="http://dev.sportsnetwork.com/aspdata/Gamescast/Images/insideNBA.png" width="200" height="150"></p>
<table id="gameTemplate" class="gameLog">
  <colgroup><col><col><col></colgroup>
  <tr>
    <td class="awayLogo"></td>
    <td class="awayTeam"></td>
    <td class="awayScore"></td>
  </tr>
  <tr>
    <td class="homeLogo"></td>
    <td class="homeTeam"></td>
    <td class="homeScore"></td>
  </tr>
  <tr>
    <td colspan="3" class="gameStatus"></td>
  </tr>
</table>
    
</body>
</html>

Open in new window

0
 
powerztomAuthor Commented:
The page you made works great ping pong is really cool by boss wants a arrow to leftside and arrow to right side and if you click that arrow button games scroll in that direction. I should have mentioned that but this code works great I'll put in a new ticket with image and arrows great work here you never disappoint Rob.
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now