The scrolling on IE9 is fragmented and uneven

I am in need of creating a specific layout that consists of a fixed header bar at the top, which will house various controls. Below this header bar, there should be a large scrollable SVG area where I can place different SVG elements. This area must include headers both at the top (for a timeline) and on the left (for location names).

The main requirement is for the scrollable area to function like a data grid view with column headers at the top and row headers on the left, but instead of traditional cells, it will contain SVG or canvas elements.

For a clearer understanding of what I am aiming to achieve, please refer to this JSFiddle link (opacity has been used to visualize element behavior during scrolling):

http://jsfiddle.net/serge_s/bLy61krL/2/

Below is the HTML code snippet:

<!-- HTML content here -->

Javascript functions are also included within this implementation:

// Javascript functions here

Similarly, CSS styles have been defined to format the layout accordingly:

/* CSS styles go here */

While the layout performs well on modern browsers like Firefox and Chrome, there are issues with jittery scrolling in IE9. As I am constrained to use IE9 in a corporate setting, I seek guidance on how to optimize the layout for smooth scrolling or if a pure HTML/CSS solution is feasible. Any insights or assistance in this matter will be greatly appreciated as I continue to learn about HTML and CSS.

Answer №1

After making some adjustments to the layout and code, I have successfully fixed the compatibility issue with IE 9. If you want to see the updated JSFiddle, please click on this link

Here is the revised HTML:

<!DOCTYPE html>
<head runat="server">
  <title>Page 1</title>
</head>
<body>
    <form id="form1">
        <header id="toolbar" class="header">
            <span id="scroll"></span>
            <span>This is my header with controls</span>
        </header>

        <div id="date" class="disp_date">bla-bla</div>
        <div id="divtimes">
            <svg id="times" class="times"></svg>
        </div>
        <div id="divrooms">
            <svg id="rooms" class="rooms"></svg>
        </div>

        <div id="scrl">
            <svg id="canv"></svg>
        </div>

    </form>
</body>

<script type="text/javascript">
   $(document).ready(function () {
      myLoad();
   });
</script>

Javascript updates:

... ...

CSS changes:

body { margin:0; }

/* Styling for the header */
.header { width:100%; height: 60px; background:lightblue; position: fixed; margin:0px auto; top:0px; z-index:10; overflow:hidden; }

#scrl { overflow:scroll; position:absolute; left:150px; top:105px; }
...
...</answer1>
<exanswer1><div class="answer" id="34135299" lang="3.0" cat="1449485799" uid="U2VyZ2V5IFNldmFzdHlhbm92">
<p>I have made necessary modifications in the layout and code, and now it works perfectly fine even on IE 9. Click on <a href="http://jsfiddle.net/serge_s/3LjgspLm/6/" rel="nofollow">this link</a> to access the updated JSFiddle.</p>

<p>HTML:</p>

<pre><code><!DOCTYPE html>
<head runat="server">
  <title>Page 1</title>
</head>
<body>
    <form id="form1">
        <header id="toolbar" class="header">
            <span id="scroll"></span>
            <span>This is my header with controls</span>
        </header>

        <div id="date" class="disp_date">bla-bla</div>
        <div id="divtimes">
            <svg id="times" class="times"></svg>
        </div>
        <div id="divrooms">
            <svg id="rooms" class="rooms"></svg>
        </div>

        <div id="scrl">
            <svg id="canv"></svg>
        </div>

    </form>
</body>

<script type="text/javascript">
   $(document).ready(function () {
      myLoad();
   });
</script>

Javascript:

// JavaScript code here
...

CSS:

// CSS code for styling
...

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Implement "BasicAuth" with asynchronous authentication of credentials

Currently in the process of upgrading Express from version 3.x to 4.x. Since Express 4 no longer supports basicAuth, I am exploring alternatives such as the basic-auth module. The issue at hand involves async credential verification through my user_tools. ...

How can I reduce the size of a Bootstrap 5 carousel that spans the entire screen?

As someone new to web development, I have found using bootstrap to be extremely helpful. However, I am currently struggling with creating a carousel for my website. My goal is to display some pictures in one corner of the page, but the carousel keeps str ...

Implementing functions within a loop with the help of requirejs

I'm experiencing a challenge with calling functions within a loop across different modules using requirejs. The function call within the loop is located in module A and triggers a function in module B that initiates an Ajax request using jQuery. Each ...

Reposition the selection column to the right side within the UI-Grid

I am currently working with ui-grid and I need help relocating the selection column to the right side. Appreciate any assistance. Thank you! ...

Is it possible to jest at a module function that is both exported and utilized within the same module?

Just diving into unit testing and learning about spies, stubs, and mocks. I've been trying to test the verify method in password.js as shown in the code snippet below. However, I'm having trouble creating a stub for the hash function within the ...

When utilizing an API to render text into a div, the offsetHeight function may return 0

I'm working with a div that displays text fetched from an API call. I'm trying to implement a See more button if the text exceeds 3 lines. Here is my approach: seeMore(){ this.setState({ seeMore: !this.state.seeMo ...

Encountered error: Unable to access property 'value' as it is undefined while mapping in react components

element populateOptions() { return this.props.options.map((option, i) => ( <optgroup key={i} label={option.text}> {option.value.map((entry) => ( <option>{entry.text}</option> ))} </optg ...

Which is the better choice for implementing a singleton: let or var?

I have a clear understanding of the distinction between let (locks the reference inside the block) and var (declares a variable accessible scope-wide). When it comes to implementing the singleton pattern in a module-based setting: var singleton = null; m ...

Looking to migrate my current firebase/react project to typescript. Any tips on how to batch.update?

Having difficulty resolving a typescript error related to batch.update in my code. const batch = db.batch(); const listingDoc = await db.collection("listings").doc(listingID).get(); const listingData = listingDoc.data( ...

Refreshing the current checkbox input field in React

I developed a unique custom weekdays check input field using React.js to display which days are open for customers. By looping through a hardcoded array, each day is rendered with its corresponding input checkbox. The first row shows Monday through Thursda ...

Does 1 CSS point amount to the same as 75% of a CSS Pixel?

Can anyone help clarify the relationship between CSS pixels and CSS points in modern web design? I've come across information stating that one CSS point is equivalent to 3/4 of a pixel. Is this accurate? Also, is it true that we can disregard the old ...

Leverage JSON data to generate individual elements, rows, and columns for every object within the array

Just starting out with JavaScript and struggling a bit. We need to fetch data from this URL: and then manipulate the data to create new rows (tr) and columns (td) for each game without altering the HTML file. The desired outcome should resemble this: http ...

Here is a way to attach a function to dynamically generated HTML that is returned in an AJAX request

As I was working on a new function development project, I encountered a situation where I had to add a function to dynamically generated HTML through an ajax call. The following is a snippet of the code: $.ajax( 'success': function(data){ ...

Display a single specific outcome within a React component's list

import {useState, useEffect } from 'react' import axios from 'axios' const Singlecountry = ({searchedCountries, setWeather, weather}) => { const weatherName = searchedCountries[0].capital console.log(weather) useEffect(() =&g ...

Utilize the Power of React.js and Express.js to Send Emails

After building a web app using React.js in ES6, I found myself wanting to add a "Contact Us" page that allows users to send an email. However, as a newcomer to React, I discovered that React itself cannot directly send emails. Following tutorials with node ...

identifies a data point from a combined dropdown menu

Is there a way to detect a specific value from a multiplied combo box? For example, when the value in one of the combo boxes changes to "2", a component is displayed. However, if the value in another combo box changes to anything other than "2", the compon ...

Adjust the appearance of the scrollbar with custom CSS, but be aware that the typical methods may not be effective in

I am interested in customizing the appearance of scrollbars on my website. After coming across this tutorial on W3Schools titled W3S: How TO - Custom Scrollbar, I successfully applied the changes on Chrome, but unfortunately, it did not work on Firefox. H ...

Tips for overlaying text onto a MaterialUI icon

https://i.stack.imgur.com/cFr5Y.pngI am currently working on a project that requires me to overlay a number on top of an icon. Specifically, I am utilizing the MaterialUI ModeComment icon and attempting to display text over it. Despite trying the following ...

simultaneous ajax requests - encountering issues in getting a response from the initial one

I'm in the process of developing a small "ping" tool to verify the connectivity of our two servers. Here is the snippet of JavaScript code I am using: var t1, t2, t3, t4; function jsContactServers() { ajaxServerStatusWWW(); ajaxServerStatus ...

Accessing JSON data model from Ember route or controller

Exploring the capabilities of Ember.js Is it possible to expose my data model as JSON through a route or controller? The object saved in the store looks like this: this.store.createRecord('Person', { id: 1, name: this.get('name'), ...